Server.AttachDatabase Server.AttachDatabase Server.AttachDatabase Method

정의

SQL Server 인스턴스에 하나 이상의 파일의 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server.

오버로드

AttachDatabase(String, StringCollection) AttachDatabase(String, StringCollection) AttachDatabase(String, StringCollection)

지정한 이름 및 지정 된 데이터 파일을 사용 하 여 SQL Server 인스턴스에 하나 이상의 파일의 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server with the specified name and using the specified data files.

AttachDatabase(String, StringCollection, AttachOptions) AttachDatabase(String, StringCollection, AttachOptions)

하나 이상의 파일에 지정된 된 이름 및 지정 된 데이터 파일 및 연결 옵션을 사용 하 여 SQL Server의 인스턴스에 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server that has the specified name and using the specified data files and attachment options.

AttachDatabase(String, StringCollection, String) AttachDatabase(String, StringCollection, String) AttachDatabase(String, StringCollection, String)

지정한 이름 및 지정 된 데이터 파일을 사용 하 여 SQL Server 인스턴스에 하나 이상의 파일의 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server with the specified name and using the specified data files.

AttachDatabase(String, StringCollection, String, AttachOptions) AttachDatabase(String, StringCollection, String, AttachOptions)

지정된 된 이름을 사용 하 여 SQL Server 인스턴스에 하나 이상의 파일, 데이터 파일 및 첨부 파일 옵션으로 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server by using the specified name, data files, and attachment options.

설명

데이터베이스의 데이터 및 트랜잭션 로그 파일은 분리할 수 있으며 동일한 SQL Server인스턴스나 다른 인스턴스에 다시 연결할 수 있습니다.The data and transaction log files of a database can be detached and then reattached to the same or another instance of SQL Server. 데이터베이스 분리 및 연결은 데이터베이스를 같은 컴퓨터의 다른 SQL Server 인스턴스로 변경하거나 데이터베이스를 이동하는 경우 유용합니다.Detaching and attaching a database is useful if you want to change the database to a different instance of SQL Server on the same computer, or if you want to move the database.

AttachDatabase(String, StringCollection) AttachDatabase(String, StringCollection) AttachDatabase(String, StringCollection)

지정한 이름 및 지정 된 데이터 파일을 사용 하 여 SQL Server 인스턴스에 하나 이상의 파일의 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server with the specified name and using the specified data files.

public:
 void AttachDatabase(System::String ^ name, System::Collections::Specialized::StringCollection ^ files);
public void AttachDatabase (string name, System.Collections.Specialized.StringCollection files);
Public Sub AttachDatabase (name As String, files As StringCollection)
매개 변수
name
String String String

연결할 데이터베이스의 이름을 지정하는 String 값입니다. A String value that specifies the name of the database to be attached.

files
StringCollection StringCollection StringCollection

A StringCollection 개체 데이터베이스 파일 목록을 포함 하는 값입니다. A StringCollection object value that contains a list database files.

예제

Visual BasicVisual Basic

'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("AdventureWorks2012").Owner  

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

'Display information about the detached database.  
Dim d As DataTable  
datastr = "C:\Program Files\Microsoft SQL Server"  
datastr = datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Data.mdf"  
logstr = "C:\Program Files\Microsoft SQL Server"  
logstr = logstr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_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("AdventureWorks2012", sc, owner, AttachOptions.None)  

PowerShellPowerShell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")  
$db = New-Object Microsoft.SqlServer.Management.Smo.Database  
$db = $srv.Databases.Item("AdventureWorks2012")  
$owner = $db.Owner  
$srv.DetachDatabase("AdventureWorks2012", $FALSE, $FALSE)  
$datastr = "C:\Program Files\Microsoft SQL Server"  
$datastr = $datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Data.mdf"  
$logstr = "C:\Program Files\Microsoft SQL Server"  
$logstr = $logstr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Log.ldf"  
$d = $srv.DetachedDatabaseInfo($datastr)  
foreach ($r in $d.Rows)  
{  
   Write-Host "=========================="  
   Foreach ($c in $d.Columns)  
   {  
      Write-Host $c.ColumnName "=" $r[$c].ToString()  
   }  
}  
Write-Host $srv.IsDetachedPrimaryFile($datastr)  
$sc = new-object Systems.Collections.Specialized.StringCollection  
$sc.Add($datastr)  
$sc.Add($logstr)  
$srv.AttachDatabase("AdventureWorks2012", $sc, $owner, [Microsoft.SqlServer.Management.Smo.AttachOptions]::None)  

설명

데이터베이스의 데이터 및 트랜잭션 로그 파일은 분리할 수 있으며 동일한 SQL Server인스턴스나 다른 인스턴스에 다시 연결할 수 있습니다.The data and transaction log files of a database can be detached and then reattached to the same or another instance of SQL Server. 데이터베이스 분리 및 연결은 데이터베이스를 같은 컴퓨터의 다른 SQL Server 인스턴스로 변경하거나 데이터베이스를 이동하는 경우 유용합니다.Detaching and attaching a database is useful if you want to change the database to a different instance of SQL Server on the same computer, or if you want to move the database.

AttachDatabase(String, StringCollection, AttachOptions) AttachDatabase(String, StringCollection, AttachOptions)

하나 이상의 파일에 지정된 된 이름 및 지정 된 데이터 파일 및 연결 옵션을 사용 하 여 SQL Server의 인스턴스에 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server that has the specified name and using the specified data files and attachment options.

public:
 void AttachDatabase(System::String ^ name, System::Collections::Specialized::StringCollection ^ files, Microsoft::SqlServer::Management::Smo::AttachOptions attachOptions);
public void AttachDatabase (string name, System.Collections.Specialized.StringCollection files, Microsoft.SqlServer.Management.Smo.AttachOptions attachOptions);
매개 변수
name
String String String

연결할 데이터베이스의 이름을 지정하는 String 값입니다. A String value that specifies the name of the database to be attached.

files
StringCollection StringCollection StringCollection

A StringCollection 개체 데이터베이스 파일 목록을 포함 하는 값입니다. A StringCollection object value that contains a list database files.

attachOptions
AttachOptions AttachOptions AttachOptions

A AttachOptions 개체 연결 옵션을 포함 하는 값입니다. A AttachOptions object value that contains the attachment options.

설명

데이터베이스의 데이터 및 트랜잭션 로그 파일은 분리할 수 있으며 동일한 SQL Server인스턴스나 다른 인스턴스에 다시 연결할 수 있습니다.The data and transaction log files of a database can be detached and then reattached to the same or another instance of SQL Server. 데이터베이스 분리 및 연결은 데이터베이스를 같은 컴퓨터의 다른 SQL Server 인스턴스로 변경하거나 데이터베이스를 이동하는 경우 유용합니다.Detaching and attaching a database is useful if you want to change the database to a different instance of SQL Server on the same computer, or if you want to move the database.

AttachDatabase(String, StringCollection, String) AttachDatabase(String, StringCollection, String) AttachDatabase(String, StringCollection, String)

지정한 이름 및 지정 된 데이터 파일을 사용 하 여 SQL Server 인스턴스에 하나 이상의 파일의 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server with the specified name and using the specified data files.

public:
 void AttachDatabase(System::String ^ name, System::Collections::Specialized::StringCollection ^ files, System::String ^ owner);
public void AttachDatabase (string name, System.Collections.Specialized.StringCollection files, string owner);
Public Sub AttachDatabase (name As String, files As StringCollection, owner As String)
매개 변수
name
String String String

연결할 데이터베이스의 이름을 지정하는 String 값입니다. A String value that specifies the name of the database to be attached.

files
StringCollection StringCollection StringCollection

A StringCollection 개체 데이터베이스 파일 목록을 포함 하는 값입니다. A StringCollection object value that contains a list database files.

owner
String String String

A String 데이터베이스의 새 소유자를 지정 하는 값입니다. A String value that specifies the new owner of the database.

예제

Visual BasicVisual Basic

'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("AdventureWorks2012").Owner  

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

'Display information about the detached database.  
Dim d As DataTable  
Datastr = "C:\Program Files\Microsoft SQL Server"  
Datastr = datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Data.mdf"  
Logstr = "C:\Program Files\Microsoft SQL Server"  
Logstr = datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_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("AdventureWorks2012", sc, owner, AttachOptions.None)  

PowerShellPowerShell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")  
$db = New-Object Microsoft.SqlServer.Management.Smo.Database  
$db = $srv.Databases.Item("AdventureWorks2012")  
$owner = $db.Owner  
$srv.DetachDatabase("AdventureWorks2012", $FALSE, $FALSE)  
$datastr = "C:\Program Files\Microsoft SQL Server"  
$datastr = $datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Data.mdf"  
$logstr = "C:\Program Files\Microsoft SQL Server"  
$logstr = $logstr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2012_Log.ldf"  
$d = $srv.DetachedDatabaseInfo($datastr)  
foreach ($r in $d.Rows)  
{  
   Write-Host "=========================="  
   Foreach ($c in $d.Columns)  
   {  
      Write-Host $c.ColumnName "=" $r[$c].ToString()  
   }  
}  
Write-Host $srv.IsDetachedPrimaryFile($datastr)  
$sc = new-object Systems.Collections.Specialized.StringCollection  
$sc.Add($datastr)  
$sc.Add($logstr)  
$srv.AttachDatabase("AdventureWorks2012", $sc, $owner, [Microsoft.SqlServer.Management.Smo.AttachOptions]::None)  

설명

데이터베이스의 데이터 및 트랜잭션 로그 파일은 분리할 수 있으며 동일한 SQL Server인스턴스나 다른 인스턴스에 다시 연결할 수 있습니다.The data and transaction log files of a database can be detached and then reattached to the same or another instance of SQL Server. 데이터베이스 분리 및 연결은 데이터베이스를 같은 컴퓨터의 다른 SQL Server 인스턴스로 변경하거나 데이터베이스를 이동하는 경우 유용합니다.Detaching and attaching a database is useful if you want to change the database to a different instance of SQL Server on the same computer, or if you want to move the database.

데이터베이스가 연결된 후 이 오버로드를 사용하여 데이터베이스 소유자를 지정할 수 있습니다.Use this overload to specify the owner of the database after it is attached.

AttachDatabase(String, StringCollection, String, AttachOptions) AttachDatabase(String, StringCollection, String, AttachOptions)

지정된 된 이름을 사용 하 여 SQL Server 인스턴스에 하나 이상의 파일, 데이터 파일 및 첨부 파일 옵션으로 구성 된 기존 데이터베이스를 연결 합니다. Attaches an existing database that is made up of one or more files to the instance of SQL Server by using the specified name, data files, and attachment options.

public:
 void AttachDatabase(System::String ^ name, System::Collections::Specialized::StringCollection ^ files, System::String ^ owner, Microsoft::SqlServer::Management::Smo::AttachOptions attachOptions);
public void AttachDatabase (string name, System.Collections.Specialized.StringCollection files, string owner, Microsoft.SqlServer.Management.Smo.AttachOptions attachOptions);
매개 변수
name
String String String

연결할 데이터베이스의 이름을 지정하는 String 값입니다. A String value that specifies the name of the database to be attached.

files
StringCollection StringCollection StringCollection

A StringCollection 개체 데이터베이스 파일 목록을 포함 하는 값입니다. A StringCollection object value that contains a list database files.

owner
String String String

A String 데이터베이스의 새 소유자를 지정 하는 값입니다. A String value that specifies the new owner of the database.

attachOptions
AttachOptions AttachOptions AttachOptions

A AttachOptions 개체 연결 옵션을 포함 하는 값입니다. A AttachOptions object value that contains the attachment options.

설명

데이터베이스의 데이터 및 트랜잭션 로그 파일은 분리할 수 있으며 동일한 SQL Server인스턴스나 다른 인스턴스에 다시 연결할 수 있습니다.The data and transaction log files of a database can be detached and then reattached to the same or another instance of SQL Server. 데이터베이스 분리 및 연결은 데이터베이스를 같은 컴퓨터의 다른 SQL Server 인스턴스로 변경하거나 데이터베이스를 이동하는 경우 유용합니다.Detaching and attaching a database is useful if you want to change the database to a different instance of SQL Server on the same computer, or if you want to move the database.

데이터베이스가 연결된 후 이 오버로드를 사용하여 데이터베이스 소유자를 지정할 수 있습니다.Use this overload to specify the owner of the database after it is attached.

적용 대상