sp_attach_db (T-SQL)

Attaches a database to a server.

Syntax

sp_attach_db [@dbname =] 'dbname',
    [@filename1 =] 'filename_n' [,...16]

Arguments
[@dbname =] 'dbname'
Is the name of the database to be attached to the server. The name must be unique. dbname is sysname, with a default of NULL.
[@filename1 =] 'filename_n'
Is the physical name, including path, of a database file. filename_n is nvarchar(260), with a default of NULL. There can be up to 16 file names specified. The parameter names start at @filename1 and increment to @filename16. The file name list must include at least the primary file, which contains the system tables that point to other files in the database. The list must also include any files that were moved after the database was detached.
Return Code Values

0 (success) or 1 (failure)

Result Sets

None

Remarks

sp_attach_db should only be executed on databases that were previously detached from the database server using an explicit sp_detach_db operation. If more than 16 files must be specified, use CREATE DATABASE with the FOR ATTACH clause.

If you attach a database to a server other than the server from which the database was detached, and the detached database was enabled for replication, you should run sp_removedbreplication to remove replication from the database.

Permissions

Only by members of the sysadmin fixed server role can execute sp_attach_db.

Examples

This example attaches two files from pubs to the current server.

EXEC sp_attach_db @dbname = N'pubs',
    @filename1 = N'c:\mssql7\data\pubs.mdf',
    @filename2 = N'c:\mssql7\data\pubs_log.ldf'

  

See Also
CREATE DATABASE sp_helpfile
sp_attach_single_file_db sp_removedbreplication
sp_detach_db System Stored Procedures

  


(c) 1988-98 Microsoft Corporation. All Rights Reserved.