sp_certify_removable (Transact-SQL)

適用於:SQL Server

確認資料庫已正確設定為在卸除式媒體上散發,並將任何問題回報給使用者。

重要

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

Transact-SQL 語法慣例

語法

sp_certify_removable
    [ @dbname = ] N'dbname'
    [ , [ @autofix = ] N'autofix' ]
[ ; ]

引數

[ @dbname = ] N'dbname'

指定要驗證的資料庫。 @dbname為 sysname

[ @autofix = ] N'autofix'

將資料庫和所有資料庫對象的擁有權授與系統管理員,並卸除任何使用者建立的資料庫使用者和非默認許可權。 @autofix為 nvarchar(4),預設值為 NULL

傳回碼值

0 (成功) 或 1 (失敗)。

備註

如果資料庫已正確設定, sp_certify_removable 請執行下列步驟:

  • 離線設定資料庫,以便複製檔案。
  • 更新 所有數據表的統計數據,並報告任何擁有權或用戶問題
  • 將數據檔群組標示為唯讀,以便將這些檔案複製到唯讀媒體。

系統管理員必須是資料庫和所有資料庫對象的擁有者。 系統管理員是執行 SQL Server 之所有伺服器上的已知使用者,且預期會在資料庫稍後散發並安裝時存在。

如果您執行 sp_certify_removable 時沒有 AUTO 值,它會傳回下列任何條件的相關信息:

  • 系統管理員不是資料庫擁有者。
  • 任何使用者建立的使用者都存在。
  • 系統管理員不會擁有資料庫中的所有物件。
  • 已授與非預設許可權。

您可以透過下列方式更正這些條件:

  • 使用 SQL Server 工具和程式,然後再次執行 sp_certify_removable
  • 使用 AUTO 值執行sp_certify_removable

此預存程式只會檢查用戶和用戶權力。 您可以將群組新增至資料庫,並將許可權授與這些群組。 如需詳細資訊,請參閱 GRANT (Transact-SQL)

權限

執行許可權僅限於系統管理員固定伺服器角色的成員

範例

下列範例會 inventory 認證資料庫已準備好移除。

EXEC sp_certify_removable inventory, AUTO;