Adjuntar base de datos sql server

La mejor manera de adjuntar base de datos SQL Server ya separada del mismo o a un servidor diferente, es mediante una declaración CREATE DATABASE junto con FOR ATTACH. Aquí hay una declaración de ejemplo:

--Sintaxis:
USE [master]
GO
CREATE DATABASE [Database-Name]
ON
(FILENAME = 'Location-Of-MDF-File'),
(FILENAME = 'Location-Of-LDF-file')
FOR ATTACH;
GO

--EJEMPLO:
USE [master]
GO
CREATE DATABASE [ejemplo]
ON
(FILENAME = 'C:\Program Files\Microsoft SQL Server\
MSSQL13.MSSQLSERVER\MSSQL\DATA\ejemplo.mdf'),
(FILENAME = 'C:\Program Files\Microsoft SQL Server\
MSSQL13.MSSQLSERVER\MSSQL\DATA\ejemplo_log.ldf')
FOR ATTACH;
GO

Uso De SP_ATTACH_DB (Transact-SQL)

Usar el procedimiento almacenado del sistema sp_attach_db para adjuntar base de datos sql server separada es otra manera de hacerlo. Sin embargo, este método está en desuso desde SQL Server 2008 en adelante. Aunque sp_attach_db funciona en la versión actual de SQL Server (2016), no se recomienda. En su lugar, utilice el método de creación de base de datos. De todos modos, a continuación, se muestra cómo usar el procedimiento sp_attach_db para agregar base de datos a SQL server. Esto puede ser útil para aquellos que todavía usan SQL Server 2005.

--Sintaxi:
EXEC sp_attach_db @dbname = N'Database-Name',
@filename1 = N'Location-Of-MDF-File',
@filename2 -= N'Location-Of-LDF-file';

--Ejemplo:
EXEC sp_attach_db @dbname = N'ejemplo',
@filename1 = N'C:\Program Files (x86)\Microsoft SQL Server
\MSSQL13.MSSQLSERVER\MSSQL\DATA\ejemplo.mdf', 
@filename2 = N'C:\Program Files (x86)\Microsoft SQL Server
\MSSQL13.MSSQLSERVER\MSSQL\DATA\ejemplo_log.ldf';

Uso De Sp_attach_single_file_db (Transact-SQL)

Otro método en desuso para adjuntar base de datos SQL server es usar el procedimiento almacenado del sistema sp_attach_single_file_db . Este método se puede utilizar con la base de datos que se quita solo mediante el método sp_detach_db.

En este, se puede adjuntar una base de datos SQL usando solo el archivo mdf. El archivo de registro ldf correspondiente se creará automáticamente. Aquí hay un ejemplo.

--Sintaxis:
EXEC sp_attach_single_file_db
 @dbname = 'Database-Name',
@physname = N'Location-Of-MDF-File';

--Ejemplo:
EXEC sp_attach_single_file_db
 @dbname = 'ejemplo', 
@physname = N'C:\Program Files\Microsoft SQL Server
\MSSQL13.MSSQLSERVER\MSSQL\DATA\ejemplo.mdf';

Adjuntar Base De Datos SQL Server con Management Studio (SSMS)

  1. Desde el Explorador de objetos, seleccione la carpeta Base de datos y haga clic con el botón derecho.
  2. En el menú contextual, seleccione Adjuntar… .
    Adjuntar base de datos sql server
  3. En la ventana emergente Adjuntar base de datos SQL server, presione el botón Agregar… .

Adjuntar base de datos sql server

  1. Vaya a la ubicación del archivo mdf y selecciónelo. Una vez seleccionado el archivo, presione aceptar.
    Adjuntar base de datos sql server
  2. En la ventana Adjuntar base de datos SQL server, el archivo marcado aparecerá en la sección Bases de datos para adjuntar y en la sección de detalles de la base de datos. Los detalles y la ubicación del archivo de registro también se enumeran en la sección de detalles de la base de datos. Si está adjuntando la base de datos desde el mismo servidor y la misma ubicación del archivo, es posible que no se preocupe por la ubicación del archivo ldf. En caso de que haya movido el archivo ldf a otra ubicación, debe verificar la ruta del archivo y corregirlo si es necesario.

Adjuntar base de datos sql server

3. Finalmente, presione el botón Aceptar y actualice la carpeta Bases de datos. Notará que la base de datos está adjunta.

Conclusión

  • Compatibilidad: Asegúrate de que la versión del servidor de SQL Server sea compatible con la versión en la que se creó originalmente la base de datos. Si no son compatibles, podrías enfrentar problemas de incompatibilidad. si una base de datos fue creada por una versión más reciente de SQL Server, no se puede adjuntar en versiones anteriores.
  • Intentar adjuntar una base de datos SQL server que no se ha desconectado retorna un error.
  • Separar una base de datos como «sa» o una cuenta de SQL Server dejará los conjuntos de permisos de los archivos sin cambios.
  • Si está conectado como «sa» u otra cuenta de SQL Server, la cuenta de servicio de SQL Server necesita permisos en cualquier archivo de base de datos que desee adjuntar.
  • Si está conectado como un inicio de sesión de Windows, necesita suficientes permisos en los archivos para adjuntarlos.

Deja un comentario