以下的文章主要描述的是SQL Server 數(shù)據(jù)庫操作的實用6技巧,其中包括安裝時提示有掛起的相關(guān)操作、收縮指定數(shù)據(jù)庫與壓縮數(shù)據(jù)庫以及轉(zhuǎn)移數(shù)據(jù)庫給新用戶以已存在德實際用戶權(quán)限、檢查備份集、修復(fù)數(shù)據(jù)庫等。
1. 安裝掛起操作
在安裝Sql或sp補丁的時候系統(tǒng)提示之前有掛起的安裝操作,要求重啟,這里往往重啟無用,解決辦法:
到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager
刪除PendingFileRenameOperations
SQL Server 數(shù)據(jù)庫操作實用技巧
2.收縮數(shù)據(jù)庫
重建索引 代碼片段:
DBCC REINDEX
DBCC INDEXDEFRAG
收縮數(shù)據(jù)和日志 代碼片段:
DBCC SHRINKDB
DBCC SHRINKFILE
3.壓縮數(shù)據(jù)庫 代碼片段:
dbcc shrinkdatabase(dbname)
4.轉(zhuǎn)移數(shù)據(jù)庫給新用戶以已存在用戶權(quán)限 代碼片段:
exec sp_change_users_login ‘update_one’,'newname’,'oldname’
go
5.檢查備份集碼 代碼片段:
RESTORE VERIFYONLY from disk=’E:dvbbs.bak’
6.修復(fù)數(shù)據(jù)庫 代碼片段:
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個參數(shù):代碼片段:
REPAIR_ALLOW_DATA_LOSS
執(zhí)行由 REPAIR_REBUILD 完成的所有修復(fù),包括對行和頁進行分配和取消分配以改正分配錯誤、結(jié)構(gòu)行或頁的錯誤,以及刪除已損壞的文本對象。這些修復(fù)可能會導(dǎo)致一些數(shù)據(jù)丟失。修復(fù)操作可以在用戶事務(wù)下完成以允許用戶回滾所做的更改。
如果回滾修復(fù),則數(shù)據(jù)庫仍會含有錯誤,應(yīng)該從備份進行恢復(fù)。如果由于所提供修復(fù)等級的緣故遺漏某個錯誤的修復(fù),則將遺漏任何取決于該修復(fù)的修復(fù)。修復(fù)完成后,備份數(shù)據(jù)庫。
REPAIR_FAST 進行小的、不耗時的修復(fù)操作,如修復(fù)非聚集索引中的附加鍵。這些修復(fù)可以很快完成,并且不會有丟失數(shù)據(jù)的危險。
REPAIR_REBUILD 執(zhí)行由 REPAIR_FAST 完成的所有修復(fù),包括需要較長時間的修復(fù)(如重建索引)。執(zhí)行這些修復(fù)時不會有丟失數(shù)據(jù)的危險。
代碼片段:
DBCC CHECKDB(’dvbbs’) with NO_INFOMSGS,PHYSICAL_ONLY