Server.AttachDatabase Method (String, StringCollection, String)

1 つ以上のファイルで構成される既存のデータベースを、指定の名前で、指定のデータ ファイルを使用して、Microsoft SQL Server のインスタンスにアタッチします。

名前空間: Microsoft.SqlServer.Management.Smo
アセンブリ: Microsoft.SqlServer.Smo (microsoft.sqlserver.smo.dll 内)

構文

'宣言
Public Sub AttachDatabase ( _
    name As String, _
    files As StringCollection, _
    owner As String _
)
public void AttachDatabase (
    string name,
    StringCollection files,
    string owner
)
public:
void AttachDatabase (
    String^ name, 
    StringCollection^ files, 
    String^ owner
)
public void AttachDatabase (
    String name, 
    StringCollection files, 
    String owner
)
public function AttachDatabase (
    name : String, 
    files : StringCollection, 
    owner : String
)

パラメータ

  • name
    アタッチするデータベースの名前を示す String 値です。
  • files
    データベース ファイルの一覧を含む StringCollection オブジェクトの値です。
  • owner

解説

更新されたテキスト :

データベースのデータ ファイルおよびトランザクション ログ ファイルを、いったんデタッチして、SQL Server の同一または別のインスタンスに再度アタッチすることができます。同一のコンピュータにある別の SQL Server のインスタンスにデータベースを変更する場合や、データベースを移動する場合は、データベースをデタッチしてアタッチすると便利です。

このオーバーロードを使用して、データベースをアタッチした後、その所有者を指定します。

この名前空間、クラス、またはメンバは、Microsoft .NET Framework Version 2.0 でのみサポートされています。

使用例

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
Dim owner As String
Dim logstr as String
Dim datastr as String
owner = srv.Databases("AdventureWorks").Owner

'Detach the AdventureWorks database.
srv.DetachDatabase("AdventureWorks", False, False)

'Display information about the detached database.
Dim d As DataTable
Datastr = "C:\Program Files\Microsoft SQL Server"
Datastr = datastr + "\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf"
Logstr = "C:\Program Files\Microsoft SQL Server"
Logstr = datastr + "\MSSQL.1\MSSQL\Data\AdventureWorks_Log.ldf"
d = srv.DetachedDatabaseInfo(datastr)
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
    Console.WriteLine("==========================")
    For Each c In r.Table.Columns
        Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
    Next
Next

'Check whether the file is a detached primary file.
Console.WriteLine(srv.IsDetachedPrimaryFile(datastr))

'Attach the database
Dim sc As StringCollection
sc = New StringCollection
sc.Add(datastr)
sc.Add(logstr)
srv.AttachDatabase("AdventureWorks", sc, owner, AttachOptions.None)

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

Server Class
Server Members
Microsoft.SqlServer.Management.Smo Namespace

その他の技術情報

Visual Basic .NET でパラメータと SMO メソッドを使用する方法
メソッドの呼び出し
サーバーの管理

変更履歴

リリース

履歴

新しい内容 :
  • 「例」セクションにコード サンプルを追加しました。

  • 「解説」セクションに説明を追加しました。