Error 1105

Tengo una base de datos que quedo en estado sospechosa por que se lleno el espacio en disco (error 1105), cuando trato de repararla con las diferentes opciones que tiene SQL, me da un error que el archivo default de la base de datos esta lleno, como hago para corregirla, sino puedo ponerla en conexión, ni mucho menos importarla o ver sus tablas
Agradezco tu ayuda

1 Respuesta

Respuesta
1
Este código te crea un SP llamado SP_ResetStatus.
IF EXISTS ( SELECT * from sysobjects where name = 'sp_resetstatus' )
DROP PROCEDURE sp_resetstatus
GO
CREATE PROC sp_resetstatus @dbname varchar(30) AS
DECLARE @msg varchar(80)
IF @@trancount > 0
BEGIN
PRINT 'Can''t run sp_resetstatus from within a transaction.'
RETURN (1)
END
IF suser_id() != 1
BEGIN
SELECT @msg = 'You must be the System Administrator (SA)'
SELECT @msg = @msg + ' to execute this procedure.'
RETURN (1)
END
IF (SELECT COUNT(*) FROM master..sysdatabases
WHERE name = @dbname) != 1
BEGIN
SELECT @msg = 'Database ' + @dbname + ' does not exist!'
PRINT @msg
RETURN (1)
END
IF (SELECT COUNT(*) FROM master..sysdatabases
WHERE name = @dbname AND status & 256 = 256) != 1
BEGIN
PRINT 'sp_resetstatus can only be run on suspect databases.'
RETURN (1)
END
BEGIN TRAN
UPDATE master..sysdatabases SET status = status ^ 256
WHERE name = @dbname
IF @@error != 0 OR @@rowcount != 1
ROLLBACK TRAN
ELSE
BEGIN
COMMIT TRAN
SELECT @msg = 'Database ' + @dbname + ' status reset!'
PRINT @msg
PRINT ''
PRINT 'WARNING: You must reboot SQL Server prior to '
PRINT ' accessing this database!'
PRINT ''
END
GO
Crealo y ejecutalo desde el analizador de consultas con la siguiente sentencia
Exec sp_resetStatus 'Nombre de la BD'
Una vez que tengas reseteado el status como suspect, te aconsejaría que hicieses un
DBCC ShrinkDatabase ('Nombre BD', 10)
Si aun compactando la BD te da problemas de espacio prueba ampliando el tamaño asignado a la BD en El Enterprise Manager.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas