Share via


sp_certify_removable (Transact-SQL)

確認已正確設定資料庫的抽取式媒體散發作業,並向使用者報告任何問題。

重要注意事項重要事項

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 我們建議您改用 CREATE DATABASE

主題連結圖示Transact-SQL 語法慣例

語法

sp_certify_removable [ @dbname= ] 'dbname'
          [ , [ @autofix = ] 'auto' ]

引數

  • [@dbname=] 'dbname'
    指定要驗證的資料庫。dbname 是 sysname

  • [@autofix=] 'auto'
    將資料庫和所有資料庫物件的擁有權提供給系統管理員,並卸除任何使用者建立之資料庫的使用者和非預設權限。auto 是 nvarchar(4),預設值是 NULL。

傳回碼值

0 (成功) 或 1 (失敗)

備註

如果已正確設定資料庫,sp_certify_removable 會執行下列動作:

  • 將資料庫設為離線,以便複製檔案。

  • 更新所有資料表的統計資料,以及報告任何擁有權或使用者問題。

  • 將資料檔案群組標示為唯讀,以便將這些檔案複製到唯讀媒體中。

系統管理員必須是資料庫和所有資料庫物件的擁有者。系統管理員是正在執行 MicrosoftSQL 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