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