문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
|
번역
영문
|
Visual Studio 2017을 사용하는 것이 좋습니다.
Server.DetachDatabase 메서드 (String, Boolean)
SQL Server 2012
Detaches the specified database from the instance of SQL Server with the option to update statistics before the database is detached.
네임스페이스: Microsoft.SqlServer.Management.Smo
어셈블리: Microsoft.SqlServer.Smo(Microsoft.SqlServer.Smo.dll)
매개 변수
- databaseName
- 유형: System.String
A String value that specifies the name of the database to be detached.
- updateStatistics
- 유형: System.Boolean
A Boolean value that specifies whether to update the statistics for the database before detaching it.If True, statistics are updated.If False, statistics are not updated.
The data and transaction log files of a database can be detached and then reattached to the same or another instance of 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.
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)
표시: