Server.DetachDatabase Method (String, Boolean)
Detaches the specified database from the instance of Microsoft SQL Server with the option to update statistics before the database is detached.
Namespace: Microsoft.SqlServer.Management.Smo
Assembly: Microsoft.SqlServer.Smo (in microsoft.sqlserver.smo.dll)
Syntax
'Declaration
Public Sub DetachDatabase ( _
databaseName As String, _
updateStatistics As Boolean _
)
public void DetachDatabase (
string databaseName,
bool updateStatistics
)
public:
void DetachDatabase (
String^ databaseName,
bool updateStatistics
)
public void DetachDatabase (
String databaseName,
boolean updateStatistics
)
public function DetachDatabase (
databaseName : String,
updateStatistics : boolean
)
Parameters
- databaseName
A String value that specifies the name of the database to be detached.
updateStatistics
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.
Remarks
Updated text:
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.
This namespace, class, or member is supported only in version 2.0 of the Microsoft .NET Framework.
Example
'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("AdventureWorks").Owner
'Detach the AdventureWorks database.
srv.DetachDatabase("AdventureWorks", False, False)
'Display information about the detached database.
Dim d As DataTable
Datastr = "C:\Program Files\Microsoft SQL Server"
Datastr = datastr + "\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf"
Logstr = "C:\Program Files\Microsoft SQL Server"
Logstr = datastr + "\MSSQL.1\MSSQL\Data\AdventureWorks_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("AdventureWorks", sc, owner, AttachOptions.None)
Thread Safety
Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms
Development Platforms
For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.
Target Platforms
For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.
See Also
Reference
Server Class
Server Members
Microsoft.SqlServer.Management.Smo Namespace
Other Resources
How to: Use an SMO Method with a Parameter in Visual Basic .NET
Detaching and Attaching Databases
Calling Methods
Managing Servers
Detach Database (General Page)
Change History
Release |
History |
New content:
|