Se crea una base de datos con el mismo Nombre de la que no tiene el log de transacciones
CREATE DATABASE [AsistelHSJ]
ON PRIMARY ( NAME = 'AsistelHSJ', FILENAME = 'C:\AsistelHSJ.MDF')
LOG ON (NAME = N'AsistelHSJ_Log', FILENAME = 'C:\AsistelHSJ_Log.LDF')
Luego ejecuta
alter database AsistelHSJ SET EMERGENCY
Luego se detiene el servicio de SQL para Renombrar los archivos mdf y ldf, y copia el MDF de la base de datos que no
le esta haciendo attach posteriormente se inicia nuevamente el servicio y se ejecuta para verificar que efectivamente este en estado de emergencia
SELECT state_desc FROM sys.databases WHERE name='AsistelHSJ'
Preparamos la base de datos para ser utilizada por un solo usuario.
alter database AsistelHSJ set single_user<?xml:namespace prefix = o />
Se realiza la reparación de la Base de datos
DBCC CHECKDB (AsistelHSJ , REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS;<?xml:namespace prefix = o />
Se Regresa la base de datos para ser utilizada por varios usuarios
alter database AsistelHSJ set multi_user<?xml:namespace prefix = o />
Con esto se recuperará la base de datos con nuevo registro de transacciones.
Adjunta una base de datos que solo tiene un archivo de datos al servidor
actual.
Sintaxis
sp_attach_single_file_db [ @dbname = ] 'dbname'
, [ @physname = ] 'physical_name'
Argumentos
[@dbname =] 'dbname'
Se trata del nombre de la base de datos que se va adjuntar al servidor. El
argumento dbname es de tipo sysname y tiene un valor predeterminado de NULL.
[@physname =] 'phsyical_name'
Es el nombre fsico, incluida la ruta de acceso, del archivo de base de
datos. El argumento physical_name es de tipo nvarchar(260) y tiene un valor
predeterminado de NULL.
Observaciones
Cuando sp_attach_single_file_db adjunta la base de datos al servidor, genera
un nuevo archivo de registro y realiza un trabajo adicional de limpieza para
quitar la duplicación de la base de datos recién adjuntada.
Utilice sp_attach_single_file_db sólo en bases de datos que haya separado
previamente del servidor con una operación sp_detach_db explcita.
Permisos
Sólo pueden ejecutar este procedimiento los miembros de las funciones fijas
de servidor sysadmin y dbcreator.