Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

February 1, 2008 / by Zsolt Soczó

Honnan lehet tudni, hogy az SQL Server kész 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?

Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

LEAVE A COMMENT

2 COMMENTS

  • Novák úr February 1, 2008

    Végül is, erre vannak az eventek… Az izgalmas téma az lenne, ha tudnánk, hogy milyen egyéb named event-ek érhetők még el az SQL Serverben és melyik mire használható!

  • Soczó Zsolt February 4, 2008

    Sajnos nem tudok többről, bár még kettő látszik a Process Explorerben.
    HighMemoryCondition és LowMemoryCondition.

    Ezeket nem ő állítja be és hozza létre, hanem az oprendszer. Innen tudja, ha gáz van, és el kell kezdni lapozni kifelé a cuccokat a Buffer Cache-ből, mert fogytán a RAM.

    http://msdn2.microsoft.com/en-us/library/bb742866.aspx
    http://msdn2.microsoft.com/en-us/library/aa490194.aspx