首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 實戰維護技巧彙總:從縮減到修復

     編輯:關於SqlServer

常用維護指令速查

1. 解決安裝掛起問題

安裝 SP/補丁提示「有掛起操作需重啟」但重啟無效:

刪除登錄鍵:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
\PendingFileRenameOperations

2. 資料庫縮減與索引重組

-- 重建索引
DBCC REINDEX
DBCC INDEXDEFRAG

-- 縮減資料與日誌
DBCC SHRINKDB
DBCC SHRINKFILE

3. 一鍵壓縮資料庫

DBCC SHRINKDATABASE(dbname)

4. 轉移資料庫擁有權

EXEC sp_change_users_login 'update_one', 'newname', 'oldname'
GO

5. 驗證備份集完整性

RESTORE VERIFYONLY FROM DISK = 'E:\dvbbs.bak'

6. 資料庫修復(三級模式)

ALTER DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs', REPAIR_ALLOW_DATA_LOSS) WITH TABLOCK
GO
ALTER DATABASE [dvbbs] SET MULTI_USER
GO
修復選項說明風險
REPAIR_FAST輕量修復(如非叢集索引鍵)無資料遺失
REPAIR_REBUILD含重建索引等耗時操作無資料遺失
REPAIR_ALLOW_DATA_LOSS含配置/取消配置頁、刪除損毀物件可能遺失資料

日誌清除兩大法

方法一:簡單模式縮減(建議定期執行)

  1. 屬性 → 選項 → 復原模式改「簡單」
  2. 所有工作 → 縮減資料庫 → 確定
  3. 完成後改回「完整」模式(保護異常復原能力)

方法二:T-SQL 精準控制日誌大小

SET NOCOUNT ON
DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT
USE target_db
SELECT @LogicalFileName = 'target_db_log', @MaxMinutes = 10, @NewSize = 1
-- 後續程式碼截斷日誌並縮減至指定 MB
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved