sp_certify_removable (Transact-SQL)

適用対象:SQL Server

リムーバブル メディア上でデータベースが配布用に正しく構成されているかどうか確認し、問題があればユーザーにレポートします。

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに CREATE DATABA Standard Edition を使用してください。

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 を実行しているすべてのサーバーに存在する既知のユーザーであり、データベースが後で配布およびインストールされるときに存在することが期待できます。

値を指定せずにAUTO実行sp_certify_removableすると、次のいずれかの条件に関する情報が返されます。

  • システム管理者はデータベース所有者ではありません。
  • ユーザーが作成したすべてのユーザーが存在します。
  • システム管理者は、データベース内のすべてのオブジェクトを所有しているわけではありません。
  • 既定値以外の権限が与えられている。

これらの条件は、次の方法で修正できます。

  • SQL Server のツールと手順を使用して、もう一度実行 sp_certify_removable します。
  • 値を指定して実行 sp_certify_removable します AUTO

このストアド プロシージャは、ユーザーとユーザーのアクセス許可に対してのみチェック。 データベースにはグループを追加でき、そのグループに権限を与えることができます。 詳細については、「GRANT (Transact-SQL)」を参照してください。

アクセス許可

実行アクセス許可は、sysadmin 固定サーバー ロールのメンバーに制限されます。

次の例では、inventory データベースを削除できるかどうかを確認します。

EXEC sp_certify_removable inventory, AUTO;