El siguiente script tiene por propósito dejar abiertas (Lectura y escritura), las bases de datos Standby en una configuración de Log Shipping en SQL Server 2000 (No compatible con versiones más recientes). Espero se entienda que este script debe ser ejecutado en el servidor STANDBY. Se debe tener en consideración también que solo se debe ejecutar en caso de contingencias o a nivel de testing, ya que al dejar activo el nodo secundario, la configuración de Log Shipping deja de funcionar y debe ser reconfigurada.
Acá el script:
Acá el script:
DECLARE @NAME_DB VARCHAR(100)
DECLARE REST_DB CURSOR FOR
SELECT NAME
FROM DBO.SYSDATABASES
WHERE DATABASEPROPERTYEX(NAME,'ISINSTANDBY') = 1;
OPEN REST_DB
FETCH NEXT FROM REST_DB
INTO @NAME_DB
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('ALTER DATABASE '+ @NAME_DB +' SET SINGLE_USER WITH ROLLBACK IMMEDIATE'+ CHAR(13) + 'GO')
EXEC ('RESTORE DATABASE '+ @NAME_DB +' WITH RECOVERY'+ CHAR(13) + 'GO')
EXEC ('ALTER DATABASE '+ @NAME_DB +' SET MULTI_USER'+ CHAR(13) + 'GO')
FETCH NEXT FROM REST_DB INTO @NAME_DB
END
CLOSE REST_DB
DEALLOCATE REST_DB
Comments
Post a Comment