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
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.