server|sqlserver|集合|技巧 (一)掛起操作
在安裝Sql或sp補丁的時候系統提示之前有掛起的安裝操作,要求重啟,這裡往往重啟無用,解決辦法:
到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
刪除PendingFileRenameOperations
(二)收縮資料庫
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收縮資料和日誌
DBCC SHRINKDB
DBCC SHRINKFILE
(三)壓縮資料庫
dbcc shrinkdatabase(dbname)
(四)轉移資料庫給新使用者以已存在使用者權限
exec sp_change_users_login 'update_one','newname','oldname'
go
(五)檢查備份組
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'
(六)修複資料庫
ALTER DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
ALTER DATABASE [dvbbs] SET MULTI_USER
GO
--CHECKDB 有3個參數:
--REPAIR_ALLOW_DATA_LOSS
-- 執行由 REPAIR_REBUILD 完成的所有修複,包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文字物件。這些修複可能會導致一些資料丟失。修複操作可以在使用者事務下完成以允許使用者復原所做的更改。如果復原修複,則資料庫仍會含有錯誤,應該從備份進行恢複。如果由於所提供修複等級的緣故遺漏某個錯誤的修複,則將遺漏任何取決於該修複的修複。修複完成後,備份資料庫。
--REPAIR_FAST 進行小的、不耗時的修複操作,如修複非叢集索引中的附加鍵。這些修複可以很快完成,並且不會有遺失資料的危險。
--REPAIR_REBUILD 執行由 REPAIR_FAST 完成的所有修複,包括需要較長時間的修複(如重建索引)。執行這些修複時不會有遺失資料的危險。
--DBCC CHECKDB('dvbbs') with NO_INFOMSGS,PHYSICAL_ONLY