مشاركة عبر


Server.DetachedDatabaseInfo Method

Returns information about a detached database file.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
Public Function DetachedDatabaseInfo ( _
    mdfName As String _
) As DataTable
'Usage
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

Parameters

Return Value

Type: System.Data.DataTable
A DataTable system object value that contains a list of information about a detached database file. The table describes the different columns of the returned DataTable.

Column

Data type

Description

DatabaseName

String

The name of the database.

DatabaseVersion

String

The version of the database.

Collation

String

The number of the collation that is used with the database.

Examples

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("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)

PowerShell

$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)

See Also

Reference

Server Class

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Database Detach and Attach (SQL Server)

Calling Methods

Managing Servers

Detach Database (General Page)