Server.AttachDatabase Yöntemi (String, StringCollection)
Bir veya daha fazla dosya için yapılan varolan bir veritabanına ekler örnek , SQL Server ile belirtilen ad ve kullanarak belirtilen veri dosyaları.
Ad Alanı: Microsoft.SqlServer.Management.Smo
Derleme: Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo içinde.dll)
Sözdizimi
'Bildirim
Public Sub AttachDatabase ( _
name As String, _
files As StringCollection _
)
'Kullanım
Dim instance As Server
Dim name As String
Dim files As StringCollection
instance.AttachDatabase(name, files)
public void AttachDatabase(
string name,
StringCollection files
)
public:
void AttachDatabase(
String^ name,
StringCollection^ files
)
member AttachDatabase :
name:string *
files:StringCollection -> unit
public function AttachDatabase(
name : String,
files : StringCollection
)
Parametreler
- name
Tür: System.String
A String iliştirilecek veritabanı adı belirten değer.
- files
Tür: System.Collections.Specialized.StringCollection
A StringCollection Nesne değeri içeren bir liste veritabanı dosyaları.
Açıklamalar
Veri ve işlem günlük dosyaları veritabanı ilişkisi kesildi ve daha sonra aynı veya başka bir yeniden eklendiğinde örnek , SQL Server.Ayırma ve bir veritabanı iliştirme yarar farklı bir veritabanını değiştirmek isterseniz, örnek , SQL Server aynı bilgisayarda veya veritabanı taşımak istiyorsanız,
Örnekler
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 = logstr + "\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)
Ayrıca bkz.