none
DDL trigger změna compatibility level

    Dotaz

  • Dobrý den,

    narazil jsem na problém, kdy potřebuji při založení nové DB v MSSQL 2008 automaticky změnit compatibility lvl této nové DB. Nějaký program provede akci při které si založí novou DB a než do ní začně zapisovat (což je okamžitě) potřebuji změnit její compatibilty lvl. Zkouším to pomocí DDL triggeru, ale v tomto režimu nelze vykonat proceduru sys.sp_dbcmptlevel. Zkoušel jsem pustit v DDL i xp_cmdshell. Akce sice proběhne, ale compatibility lvl zůstane nezměněn. Nejspíše kvůli tomu, že tu DB drží program otevřenou.

    Kdyby měl někdo nápad, jak změnit okamžitě při vytváření compatibility lvl, budu rád. Nebo jestli jste MSSQL serveru vnutit nastaveni, aby vsechny nove DB zakladal s jinym compatibility lvl nez 100.

    Díky

    • Upravený Vilca 22. dubna 2010 13:51 uprava
    22. dubna 2010 13:21

Odpovědi

  • Dobry den,

    pokud u nove databaze potrebujete nastavit jiny compatibility level, staci tuto vlastnost nastavit na patricnou hodnotu u systemove databaze model. Kazda nove vytvorena databaze totiz vznika jako kopie prave databaze model a prebira vsechna jeji nastaveni, pokud neni receno jinak.

    Miloslav Peterka.

    • Označen jako odpověď Vilca 22. dubna 2010 19:18
    22. dubna 2010 15:42

Všechny reakce

  • Dobry den,

    pokud u nove databaze potrebujete nastavit jiny compatibility level, staci tuto vlastnost nastavit na patricnou hodnotu u systemove databaze model. Kazda nove vytvorena databaze totiz vznika jako kopie prave databaze model a prebira vsechna jeji nastaveni, pokud neni receno jinak.

    Miloslav Peterka.

    • Označen jako odpověď Vilca 22. dubna 2010 19:18
    22. dubna 2010 15:42
  • Jak prozaické, když člověk ví kam sáhnout :-) Díky, to je přesně to v co jsem doufal.

     

    Díky za pomoc

    22. dubna 2010 19:18
  • Rádo se stalo, od toho jsme přece tady ;-).

    MP.

    22. dubna 2010 20:00