驗(yàn)證數(shù)據(jù)庫是否已為在可移動介質(zhì)上分發(fā)而正確配置,并向用戶報告所有問題。
sp_certify_removable [ @dbname = ] 'dbname'
[ , [ @autofix = ] 'auto' ]
[@dbname =] 'dbname'
指定要驗(yàn)證的數(shù)據(jù)庫。dbname 的數(shù)據(jù)類型為 sysname。
[@autofix =] 'auto'
對系統(tǒng)管理員授予數(shù)據(jù)庫及所有數(shù)據(jù)庫對象的所有權(quán),并除去任何用戶創(chuàng)建的數(shù)據(jù)庫用戶及非默認(rèn)的權(quán)限。auto 的數(shù)據(jù)類型為 nvarchar(4),默認(rèn)值為 NULL。auto 的值為 auto。
0(成功)或 1(失?。?/P>
如果數(shù)據(jù)庫配置正確,sp_certify_removable 會將數(shù)據(jù)庫設(shè)置為脫機(jī),以便復(fù)制文件。此過程將更新所有表的統(tǒng)計信息,并報告任何所有權(quán)問題或用戶問題。此外,還將數(shù)據(jù)文件組標(biāo)記為只讀,以便將這些文件復(fù)制到只讀介質(zhì)。
系統(tǒng)管理員必須是數(shù)據(jù)庫和所有數(shù)據(jù)庫對象的所有者。系統(tǒng)管理員是存在于所有正在運(yùn)行 Microsoft® SQL Server™ 的服務(wù)器上的已知用戶,在稍后分發(fā)和安裝數(shù)據(jù)庫時可望仍然存在。
如果運(yùn)行沒有 auto 值的 sp_certify_removable,并且返回信息表明系統(tǒng)管理員不是數(shù)據(jù)庫的所有者、存在用戶創(chuàng)建的用戶、系統(tǒng)管理員未擁有數(shù)據(jù)庫的所有對象、或授予非默認(rèn)的權(quán)限,則可以通過以下兩種方法糾正這些問題:
注意,此存儲過程只檢查用戶和用戶權(quán)限。允許向數(shù)據(jù)庫添加組并對這些組授予權(quán)限。有關(guān)更多信息,請參見 GRANT。
此過程將驗(yàn)證信息寫入文本文件,文件名的格式如下:
CertifyR_[dbname].txt
說明 xp_cmdshell 上的權(quán)限必須允許該文件寫入。
EXECUTE 權(quán)限只授予 sysadmin 固定服務(wù)器角色的成員。
下面的示例驗(yàn)證 inventory 數(shù)據(jù)庫已作好刪除準(zhǔn)備。
sp_certify_removable inventory, AUTO
相關(guān)文章