-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsql\90_simular_caida.sql
More file actions
31 lines (27 loc) · 1.33 KB
/
Copy pathsql\90_simular_caida.sql
File metadata and controls
31 lines (27 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* =============================================================================
Archivo: 90_simular_caida.sql
Propósito: SIMULAR la caída de UNA biblioteca dejando su base de datos
fuera de línea. El script de cruzamiento debe seguir
funcionando con las dos restantes y reportar la caída de manera
clara.
¿Por qué no apagar el servicio MSSQL$SQLEXPRESS?
Porque ese servicio sirve a las TRES bases. Apagarlo dejaría
a las tres caídas a la vez. Necesitamos aislar UNA sola.
============================================================================= */
USE master; -- importante: hay que estar fuera de la base que se va a apagar
GO
-- WITH ROLLBACK IMMEDIATE: si hay alguna conexión abierta a esa base,
-- la corta y deja la base offline al instante. Sin esa cláusula podría
-- quedarse esperando.
ALTER DATABASE Biblioteca_Norte SET OFFLINE WITH ROLLBACK IMMEDIATE;
GO
PRINT 'Biblioteca_Norte ahora está OFFLINE.';
PRINT 'Ejecuta ahora desde PowerShell: python scripts\consultar_isbn.py 978-84-001';
PRINT 'El cruzamiento debe mostrar Central y Sur normales, y Norte como NO DISPONIBLE.';
GO
-- Verificación: vemos el estado de las 3 bases.
SELECT name AS base_de_datos, state_desc AS estado
FROM sys.databases
WHERE name LIKE 'Biblioteca_%'
ORDER BY name;
GO