Adjunta una base de datos a un servidor.
sp_attach_db [ @dbname = ] 'dbname', [ @filename1 = ] 'filename_n' [ ,...16 ]
[@dbname =] 'dbname'
Es el nombre de la base de datos que se va adjuntar al servidor. El nombre debe ser único. El argumento dbname es de tipo sysname y tiene un valor predeterminado de NULL.
[@filename1 =] 'filename_n'
Se trata del nombre físico, incluida la ruta de acceso, de un archivo de base de datos. El argumento filename_n es de tipo nvarchar(260) y tiene un valor predeterminado de NULL. Se pueden especificar hasta 16 nombres de archivos. Los nombres de parámetro comienzan en @filename1 y se incrementan hasta @filename16. La lista de nombres de archivos debe contener al menos el archivo principal, que contiene las tablas del sistema que apuntan a otros archivos de la base de datos. La lista también debe contener los archivos que se hayan movido después de separar la base de datos.
0 (correcto) o 1 (error)
Ninguna
Sólo se debe ejecutar sp_attach_db en bases de datos que se hayan separado previamente del servidor de bases de datos con una operación sp_detach_db explícita. Si debe especificar más de 16 archivos, utilice CREATE DATABASE con la cláusula FOR ATTACH.
Si adjunta una base de datos a un servidor distinto de aquél del que se separó y la base de datos separada estaba habilitada para duplicación, deberá ejecutar sp_removedbreplication para quitar la duplicación de la base de datos.
Sólo pueden ejecutar este procedimiento los miembros de las funciones fijas de servidor sysadmin y dbcreator.
Este ejemplo adjunta dos archivos de la base de datos pubs al servidor actual.
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'