sp_attach_single_file_db (Transact-SQL)
Adjunta al servidor actual una base de datos que tiene un solo archivo de datos. sp_attach_single_file_db no se puede utilizar con varios archivos de datos.
Importante |
---|
Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Se recomienda utilizar CREATE DATABASE database_name FOR ATTACH en su lugar. Para obtener más información, consulte CREATE DATABASE (Transact-SQL). No utilice este procedimiento en una base de datos replicada. |
Nota de seguridad |
---|
Se recomienda no adjuntar ni restaurar bases de datos de orígenes desconocidos o que no sean de confianza. Es posible que dichas bases de datos contengan código malintencionado que podría ejecutar código Transact-SQL no deseado o provocar errores al modificar el esquema o la estructura de la base de datos física. Antes de usar una base de datos de origen desconocido o que no es de confianza, ejecute DBCC CHECKDB en la base de datos en un servidor que no sea de producción y examine también el código, como procedimientos almacenados u otro código definido por el usuario, de la base de datos. |
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_attach_single_file_db [ @dbname= ] 'dbname'
, [ @physname= ] 'physical_name'
Argumentos
[ @dbname= ] 'dbname'
Es el nombre de la base de datos que se va a adjuntar al servidor. El nombre debe ser único. dbname es de tipo sysname y su valor predeterminado es NULL.[ @physname= ] 'physical_name'
Es el nombre físico, incluida la ruta de acceso, del archivo de base de datos. physical_name es de tipo nvarchar(260) y su valor predeterminado es NULL.[!NOTA]
Este argumento se asigna al parámetro FILENAME de la instrucción CREATE DATABASE. Para obtener más información, vea CREATE DATABASE (Transact-SQL).
Al adjuntar una base de datos de SQL Server 2005 que contiene archivos de catálogo de texto completo a una instancia de servidor de SQL Server 2012, los archivos de catálogo se adjuntan desde su ubicación anterior junto con los demás archivos de base de datos, igual que en SQL Server 2005. Para obtener más información, vea Actualizar la búsqueda de texto completo desde SQL Server 2005.
Valores de código de retorno
0 (correcto) o 1 (error)
Conjuntos de resultados
Ninguno
Comentarios
Utilice sp_attach_single_file_db solo en bases de datos que haya separado previamente del servidor con una operación sp_detach_db explícita o en bases de datos copiadas.
sp_attach_single_file_db funciona únicamente en bases de datos que tienen un solo archivo de registro. Cuando sp_attach_single_file_db adjunta la base de datos al servidor, crea un nuevo archivo de registro. Si la base de datos es de solo lectura, el archivo de registro se crea en su ubicación anterior.
[!NOTA]
Una instantánea de base de datos no se puede adjuntar ni separar.
No utilice este procedimiento en una base de datos replicada.
Permisos
Para obtener información sobre cómo se administran los permisos cuando se adjunta una base de datos, vea CREATE DATABASE (Transact-SQL).
Ejemplos
En el ejemplo siguiente se separa AdventureWorks2012 y, después, se adjunta un archivo de AdventureWorks2012 al servidor actual.
USE master;
GO
EXEC sp_detach_db @dbname = 'AdventureWorks2012';
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012',
@physname =
N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_Data.mdf';
Vea también
Referencia
Procedimientos almacenados del sistema (Transact-SQL)