All articles

Honnan lehet tudni, hogy az SQL Server kész a recoveryvel?

Published 2008-02-01 - Last modified 2008-02-01

Original: https://soci.hu/blog/index.php/2008/02/01/honnan-lehet-tudni-hogy-az-sql-server-kesz-a-recoveryvel/

Egy nagyon érdekes kérdést tettek fel a belső SQL Server MVP newsgroupon. Tegyük fel van egy windows szervizem, ami ugyanazon a gépen fut, mint az SQL Server. Ha az SQL Server észhez tér, el kell indulni a szerviznek. A szervizek között lehet dependency-t létrehozni, de ez nem jó, mert már az SQL Server mint szerviz már fut, attól még nem lehet használni, mert fut az induló recovery folyamat. Hogyan lehet detektálni, kész a recovery?
A primitív megoldás, hogy próbálkozgatunk becsatlakozni. Gagyi.
A szellemes megoldás a következő. Az SQL Server létrehoz egy Named Event-et, és ezt signaled állapotba hozza, ha az összes adatbázis recovery-je megtörtént. Process Explorerrel megnézve nálam ez az event neve:
\sqlserverRecComplete$SQL2008. SQL2008 az instance neve, innen a dollár utáni rész.

Azaz, a szerviznek csak rá kell szinkronizálni erre az eventre, és máris pontosan tudjuk, mikortól él a szerver. Hát nem zseniális?