sp_attach_single_file_db (Transact-SQL)
データ ファイルが 1 つだけ格納されているデータベースを現在のサーバーにアタッチします。 sp_attach_single_file_db は複数のデータ ファイルに対しては使用できません。
重要 |
---|
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。代わりに、CREATE DATABASE database_name FOR ATTACH を使用することをお勧めします。 詳細については、「CREATE DATABASE (Transact-SQL)」を参照してください。 レプリケートされたデータベースには、このプロシージャを使用しないでください。 |
セキュリティに関する注意 |
---|
不明なソースや信頼されていないソースからデータベースをアタッチまたは復元しないことをお勧めします。 そのようなデータベースには、意図しない Transact-SQL コードを実行したり、スキーマまたは物理データベース構造を変更することによりエラーを発生させる悪意のあるコードが含まれている可能性があるからです。 不明なソースや信頼されていないソースからのデータベースを使用する前には、非稼働サーバーにあるデータベースで DBCC CHECKDB を実行してください。また、ストアド プロシージャやその他のユーザー定義コードなど、データベースのコードを確認してください。 |
構文
sp_attach_single_file_db [ @dbname= ] 'dbname'
, [ @physname= ] 'physical_name'
引数
[ @dbname= ] 'dbname'
サーバーにアタッチされるデータベースの名前を指定します。 名前は一意である必要があります。 dbname のデータ型は sysname で、既定値は NULL です。[ @physname= ] 'physical_name'
データベース ファイルの物理名を、パスも含めて指定します。 physical_name のデータ型は nvarchar(260) で、既定値は NULL です。注 この引数は、CREATE DATABASE ステートメントの FILENAME パラメーターにマップされます。 詳細については、「CREATE DATABASE (Transact-SQL)」を参照してください。
フルテキスト カタログ ファイルを含む SQL Server 2005 データベースを SQL Server 2012 サーバー インスタンスにアタッチする場合、カタログ ファイルは SQL Server 2005 と同様に他のデータベース ファイルと一緒に以前の場所からアタッチされます。 詳細については、「SQL Server 2005 からのフルテキスト検索のアップグレード」を参照してください。
リターン コード値
0 (成功) または 1 (失敗)
結果セット
なし
説明
sp_attach_single_file_db は、sp_detach_db 操作を明示的に実行してサーバーからデタッチされたデータベース、またはコピーされたデータベースに対してのみ使用してください。
sp_attach_single_file_db は、ログ ファイルが 1 つだけ格納されているデータベースに対してのみ使用できます。 sp_attach_single_file_db によってデータベースがサーバーにアタッチされると、新しいログ ファイルが作成されます。 データベースが読み取り専用の場合、ログ ファイルは、アタッチされる前の場所に作成されます。
注 |
---|
データベース スナップショットは、デタッチまたはアタッチできません。 |
レプリケートされたデータベースには、このプロシージャを使用しないでください。
権限
データベースをアタッチする際の権限の扱いについては、「CREATE DATABASE (Transact-SQL)」を参照してください。
使用例
次の例では、 AdventureWorks2012 をデタッチした後、 AdventureWorks2012 から現在のサーバーに 1 つのファイルをアタッチします。
USE master;
GO
EXEC sp_detach_db @dbname = 'AdventureWorks2012';
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012',
@physname =
N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_Data.mdf';
関連項目
参照
システム ストアド プロシージャ (Transact-SQL)