sp_attach_single_file_db (Transact-SQL)
適用対象:SQL Server
データ ファイルが 1 つだけのデータベースを現在のサーバーにアタッチします。 sp_attach_single_file_db
は、複数のデータ ファイルでは使用できません。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに CREATE DATABASE <database_name> FOR ATTACH
を使用することをお勧めします。 詳細については、
不明なソースまたは信頼されていないソースからデータベースをアタッチまたは復元しないでください。 こうしたデータベースには、意図しない Transact-SQL コードを実行したり、スキーマまたは物理データベース構造を変更してエラーを発生させるような、悪意のあるコードが含まれている可能性があります。 不明または信頼できないソースのデータベースを使用する前に、運用サーバー以外のサーバーでそのデータベースに対し DBCC CHECKDB を実行し、さらに、そのデータベースのストアド プロシージャやその他のユーザー定義コードなどのコードを調べます。
構文
sp_attach_single_file_db
[ @dbname = ] N'dbname'
, [ @physname = ] N'physname'
[ ; ]
引数
[ @dbname = ] N'dbname'
サーバーに接続するデータベースの名前。 @dbnameは sysname で、既定値はありません。
[ @physname = ] N'physname'
データベース ファイルの物理名 (パスを含む)。 @physnameは nvarchar(260) で、既定値はありません。
この引数は、ステートメントの FILENAME
パラメーターに CREATE DATABASE
マップされます。 詳細については、
Note
フルテキスト カタログ ファイルを含む SQL Server 2005 (9.x) データベースを SQL Server の新しいサーバー インスタンスにアタッチすると、SQL Server 2005 (9.x) と同じように、カタログ ファイルは以前の場所から他のデータベース ファイルと共にアタッチされます。 詳細については、「フルテキスト検索のアップグレード」を参照してください。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
sp_attach_single_file_db
明示的なsp_detach_db
操作またはコピーされたデータベースを使用して、以前にサーバーからデタッチされたデータベースでのみ使用します。
sp_attach_single_file_db
は、1 つのログ ファイルを持つデータベースでのみ機能します。 データベースをサーバーにアタッチすると sp_attach_single_file_db
、新しいログ ファイルがビルドされます。 データベースが読み取り専用の場合、ログ ファイルは、アタッチされる前の場所に作成されます。
Note
データベース スナップショットをデタッチまたはアタッチすることはできません。
レプリケートされたデータベースでは、この手順を使用しないでください。
アクセス許可
データベースがアタッチされるときにアクセス許可がどのように処理されるかについては、「CREATE DATABA Standard Edition」を参照してください。
例
次の例では、AdventureWorks2022
をデタッチした後、AdventureWorks2022
から現在のサーバーに 1 つのファイルをアタッチします。
USE master;
GO
EXEC sp_detach_db @dbname = 'AdventureWorks2022';
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2022',
@physname =
N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_Data.mdf';
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示