miércoles, 19 de marzo de 2014

Eurowin - Proceso para corregir bases de datos estado Sospechoso

Estos procesos se ejecutan sobre todas las bases de datos de la instancia de SQL Server abiertas
Se puede ejecutar desde el programa SQL Server Management Studio Express, para lo cual hay que:




   1.- Abrir el programa Microsoft SQL Server Management Studio Express
   2.- Pulsar el botón "Nueva consulta"
   3.- Copiar las líneas de código abajo indicado
   4.- Pulsar el botón "! Ejecutar"

Este es el código.


/**********************************************************/
/*  REPARACION DE BASES DE DATOS SQL              v 1.2   */
/**********************************************************/

use [master]
go

--CURSOR PARA RECORRER TODAS LAS BBDD QUE NO SON DEL SISTEMA
DECLARE @lcNombreBD nvarchar(128)
DECLARE @lcDatabase_id INT;

/* Creo un cursor para recorrer las bases de datos que no son del sistema */
DECLARE curDBCOM CURSOR read_only fast_forward forward_only FOR
      SELECT NAME  FROM SYS.DATABASES where DATABASE_ID > 4
   OPEN curDBCOM
   FETCH NEXT FROM curDBCOM INTO @lcNombreBD
   WHILE @@FETCH_STATUS = 0
   BEGIN
      EXECUTE ('ALTER DATABASE ['+@lcNombreBD+'] SET SINGLE_USER WITH NO_WAIT')
      EXECUTE ('ALTER DATABASE ['+@lcNombreBD+'] SET EMERGENCY')
      EXECUTE ('DBCC CHECKDB (['+@lcNombreBD+'], REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS') /* ADMET PERDUA DADES */
      EXECUTE ('ALTER DATABASE ['+@lcNombreBD+'] SET ONLINE')
      EXECUTE ('ALTER DATABASE ['+@lcNombreBD+'] SET MULTI_USER')
      FETCH NEXT FROM curDBCOM INTO @lcNombreBD
   END
CLOSE curDBCOM
DEALLOCATE curDBCOM

*****************************************************************************
Otra forma
Script completo para realizar la reparación de bases de datos SQL Server en estado sospechoso y
restaurar las propiedades de la base de datos a la configuración inicial.
declare @Nomdb varchar(128)
SET @Nomdb ='NombredelaBasedeDatos'
EXECUTE ('ALTER DATABASE ['+@Nomdb+'] SET EMERGENCY')
EXECUTE ('ALTER DATABASE ['+@Nomdb+'] SET SINGLE_USER')
EXECUTE ('DBCC CHECKDB (['+@Nomdb+'], REPAIR_ALLOW_DATA_LOSS)')
EXECUTE ('ALTER DATABASE ['+@Nomdb+']SET MULTI_USER')
EXECUTE ('ALTER DATABASE ['+@Nomdb+'] SET ONLINE')



Manual
de
Instalación de Eurowin
54
DBCC CHECKDB (
[
NOMDB
]
, REPAIR_ALLOW_DATA_LOSS)
4.
-
Script completo para realizar la reparación de bases de datos SQL Server en estado sospechoso y
restaurar las propiedades de la base de datos a la configuración inicial.
declare @Nomdb varch
ar(128)
SET @Nomdb = 'NombredelaBasedeDatos'
EXECUTE ('ALTER DATABASE ['+@Nomdb+'] SET EMERGENCY')
EXECUTE ('ALTER DATABASE ['+@Nomdb+'] SET SINGLE_USER')
EXECUTE ('DBCC CHECKDB (['+@Nomdb+'], REPAIR_ALLOW_DATA_LOSS)')
EXECUTE ('ALTER DATABASE ['+@Nomdb+']
SET MULTI_USER')
EXECUTE ('ALTER DATABASE ['+@Nomdb+'] SET ONLINE')
Próximamente  iremos insertando noticias sobre modificación de report de formularios de Eurowin .
Para más información visítenos www.jsinformatica.es

0 comentarios :

Publicar un comentario