sp_certify_removable (Transact-SQL)

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

ms188785.note(ja-jp,SQL.90).gif重要 :
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに CREATE DATABASE を使用することをお勧めします。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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

引数

[ @dbname=] 'dbname'

確認するデータベースを指定します。dbname のデータ型は sysname です。

[ @autofix=] 'auto'

データベースとすべてのデータベース オブジェクトの所有権をシステム管理者に与え、ユーザー作成のデータベース ユーザーと既定値以外の権限を削除します。auto のデータ型は nvarchar(4) で、既定値は NULL です。

解説

データベースが正しく構成されている場合、sp_certify_removable では次の処理が行われます。

  • データベースをオフラインに設定し、ファイルをコピーできるようにする。
  • すべてのテーブルに関する統計を更新し、所有権やユーザーに関する問題をレポートする。
  • データ ファイル グループを読み取り専用としてマークし、ファイルを読み取り専用メディアにコピーできるようにする。

システム管理者は、データベースとすべてのデータベース オブジェクトの所有者であることが必要です。システム管理者は、Microsoft SQL Server が実行されているすべてのサーバー上に存在する既知のユーザーであり、後でデータベースが配布およびインストールされるときに必ず存在することを前提としています。

auto を指定せずに sp_certify_removable を実行した場合は、状況に応じて次の状態についての情報が返されます。

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

これらの問題は次の方法で解決できます。

  • SQL Server のツールおよびプロシージャを使用して、sp_certify_removable を再実行する。
  • auto を指定して sp_certify_removable を実行する。

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

権限

実行権限は、sysadmin 固定サーバー ロールのメンバに制限されます。

戻り値

0 (成功) または 1 (失敗)

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

EXEC sp_certify_removable inventory, AUTO

参照

関連項目

sp_create_removable (Transact-SQL)
ALTER DATABASE (Transact-SQL)
sp_dbremove (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)

その他の技術情報

データベースのデタッチとアタッチ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手