다음을 통해 공유


DetachedDatabaseInfo 메서드

분리된 데이터베이스 파일에 대한 정보를 반환합니다.

네임스페이스:  Microsoft.SqlServer.Management.Smo
어셈블리:  Microsoft.SqlServer.Smo(Microsoft.SqlServer.Smo.dll)

구문

‘선언
Public Function DetachedDatabaseInfo ( _
    mdfName As String _
) As DataTable
‘사용 방법
Dim instance As Server
Dim mdfName As String
Dim returnValue As DataTable

returnValue = instance.DetachedDatabaseInfo(mdfName)
public DataTable DetachedDatabaseInfo(
    string mdfName
)
public:
DataTable^ DetachedDatabaseInfo(
    String^ mdfName
)
member DetachedDatabaseInfo : 
        mdfName:string -> DataTable 
public function DetachedDatabaseInfo(
    mdfName : String
) : DataTable

매개 변수

반환 값

유형: System.Data. . :: . .DataTable
분리된 데이터베이스 파일에 대한 정보 목록을 포함하는 DataTable 시스템 개체 값입니다. 다음 표에서는 반환되는 DataTable의 다양한 열에 대해 설명합니다.

데이터 형식

설명

DatabaseName

String

데이터베이스의 이름입니다.

DatabaseVersion

String

데이터베이스의 버전입니다.

Collation

String

데이터베이스에 사용되는 데이터 정렬 수입니다.

Visual 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("AdventureWorks2008R2").Owner

'Detach the AdventureWorks2008R2 database.
srv.DetachDatabase("AdventureWorks2008R2", 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\AdventureWorks2008R2_Data.mdf"
Logstr = "C:\Program Files\Microsoft SQL Server"
Logstr = datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2008R2_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("AdventureWorks2008R2", sc, owner, AttachOptions.None)

PowerShell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2008R2")
$owner = $db.Owner
$srv.DetachDatabase("AdventureWorks2008R2", $FALSE, $FALSE)
$datastr = "C:\Program Files\Microsoft SQL Server"
$datastr = $datastr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2008R2_Data.mdf"
$logstr = "C:\Program Files\Microsoft SQL Server"
$logstr = $logstr + "\MSSQL10_50\MSSQL\Data\AdventureWorks2008R2_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("AdventureWorks2008R2", $sc, $owner, [Microsoft.SqlServer.Management.Smo.AttachOptions]::None)