sp_certify_removable (Transact-SQL)
確認已正確設定資料庫的抽取式媒體散發作業,並向使用者報告任何問題。
重要事項: |
---|
未來的 Microsoft SQL Server 發行版本將不再提供此功能。請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 我們建議您改用 CREATE DATABASE。 |
語法
sp_certify_removable [ @dbname= ] 'dbname'
[ , [ @autofix = ] 'auto' ]
引數
[ @dbname=] 'dbname'
指定要驗證的資料庫。dbname 是 sysname。
[ @autofix=] 'auto'
將資料庫和所有資料庫物件的擁有權提供給系統管理員,並卸除任何使用者建立之資料庫的使用者和非預設權限。auto 是 nvarchar(4),預設值是 NULL。
傳回碼值
0 (成功) 或 1 (失敗)
備註
如果已正確設定資料庫,sp_certify_removable 會執行下列動作:
- 將資料庫設為離線,以便複製檔案。
- 更新所有資料表的統計資料,以及報告任何擁有權或使用者問題。
- 將資料檔案群組標示為唯讀,以便將這些檔案複製到唯讀媒體中。
系統管理員必須是資料庫和所有資料庫物件的擁有者。系統管理員是正在執行 Microsoft SQL Server 且可預期稍後散發和安裝資料庫時,將會存在的所有伺服器中的已知使用者。
如果您執行未設定 auto 值的 sp_certify_removable,且它傳回下列任何狀況的相關資訊:
- 系統管理員不是資料庫擁有者。
- 有使用者建立的使用者存在。
- 系統管理員並未擁有資料庫中的所有物件。
- 授與了非預設的權限。
您可以利用下列方式來更正這些狀況:
- 使用 SQL Server 工具和程序,再重新執行 sp_certify_removable。
- 只執行設定了 auto 值的 sp_certify_removable。
請注意,這個預存程序只會檢查使用者和使用者權限。您可以將群組加入資料庫中,以及將權限授與這些群組。如需詳細資訊,請參閱<GRANT (Transact-SQL)>。
權限
執行權限僅限於系統管理員 (sysadmin) 固定伺服器角色的成員。
範例
下列範例會證明 inventory
資料庫已完成移除的準備。
EXEC sp_certify_removable inventory, AUTO
請參閱
參考
sp_create_removable (Transact-SQL)
ALTER DATABASE (Transact-SQL)
sp_dbremove (Transact-SQL)
系統預存程序 (Transact-SQL)