• SQL Server 常见问题


    1、无法删除数据库,因为该数据库当前正在使用

    1. --填写数据库名称,(msdb.dbo.sp_delete_database_backuphistory删除数据库备份和还原历史记录信息)
    2. EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'数据库名称'
    3. GO
    4. USE [master]
    5. GO
    6. --设置库单用户模式,和设置立即回滚
    7. ALTER DATABASE [数据库名称] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    8. GO
    9. USE [master]
    10. GO
    11. DROP DATABASE [数据库名称]
    12. GO

    *
    2、还原
    Windows任务计划程序备份、还原数据库
    *
    3、日志文件过大
    选择数据库,右键属性,选项,恢复模式,简单

    *

    1. alter database 数据库名称 set recovery simple
    2. --常用语句
    3. -- 检查日志文件名称
    4. USE 数据库名
    5. SELECT NAME, size FROM sys.database_files
    6. -- 查看数据库的recovery_model_desc类型
    7. SELECT NAME, recovery_model_desc FROM sys.databases
    8. -- 如果是FULL类型,修改为SIMPLE类型  
    9. ALTER DATABASE ChinaKnowledgeDB SET Recovery simple
    10. -- 收缩日志文件大小(单位是M)
    11. DBCC SHRINKFILE (N'ChinaKnowledgeDB_log' , 10)
    12. -- 恢复成FULL类型
    13. ALTER DATABASE ChinaKnowledgeDB SET Recovery FULL
    14. --总结
    15. --收缩日志一定要把数据变为简单模式

    选择数据库,右键任务,收缩,文件

    *


    *、恢复挂起

    1. USE [Test]
    2. GO
    3. --使用数据库变为单用户模式
    4. ALTER DATABASE [Test] SET SINGLE_USER
    5. GO
    6. --修改数据库为紧急模式
    7. ALTER DATABASE [Test] SET EMERGENCY
    8. GO
    9. DBCC CHECKDB([Test],REPAIR_ALLOW_DATA_LOSS)
    10. go
    11. ALTER DATABASE [Test] SET ONLINE
    12. GO
    13. --使数据库变回多用户模式
    14. ALTER DATABASE [Test] SET MULTI_USER
    15. GO

    *
    *
    *
    *
    *
    *

  • 相关阅读:
    Express框架
    WPF中TextWrapping
    Linux 命令(197)—— dig 命令
    什么是 DNS 泛洪攻击(DNS 泛洪)
    数据库连接池之c3p0-0.9.1.2,16年的古董,发生连接泄露怎么查(一)
    UDP-创建群聊
    传感器融合带来多重好处
    Linux pthread
    Zigbee物联网应用
    KVM虚拟化学习总结
  • 原文地址:https://blog.csdn.net/KingCruel/article/details/126398830