Was this page helpful?
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Server.AttachDatabase Method (String, StringCollection, String)

Attaches an existing database that is made up of one or more files to the instance of Microsoft SQL Server with the specified name and using the specified data files.

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

public void AttachDatabase (
	string name,
	StringCollection files,
	string owner
public void AttachDatabase (
	String name, 
	StringCollection files, 
	String owner
public function AttachDatabase (
	name : String, 
	files : StringCollection, 
	owner : String



A String value that specifies the name of the database to be attached.


A StringCollection object value that contains a list database files.


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.

Use this overload to specify the owner of the database after it is attached.

This namespace, class, or member is supported only in version 2.0 of the Microsoft .NET Framework.

'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
    For Each c In r.Table.Columns
        Console.WriteLine(c.ColumnName + " = " + r(c).ToString)

'Check whether the file is a detached primary file.

'Attach the database
Dim sc As StringCollection
sc = New StringCollection
srv.AttachDatabase("AdventureWorks", sc, owner, AttachOptions.None)

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.

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms



New content:
  • Added code sample to the Example section.

  • Added to the description in the Remarks section.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2015 Microsoft