SQL-DMO - What the hell ...

Úvodem
Pokud pracujete s daty uloženými na Microsoft SQL Serveru pomocí ADO knihoven, určitě časem narazíte na "drobná" omezení, která mohou znepříjemňovat život. ADO bylo navrženo především jako datová vrstva pro práci s daty (databázový stroj), nikoliv s dalšími funkcemi a možnostmi MS SQL serveru. Naštěstí je součástí instalace MS SQL Serveru (jak plného, tak i MSDE) knihovna nazvaná SQL-DMO.

Název SQL-DMO vypadá poněkud divoce, ale není to nic jiného než zkratka udávající, že se jedná o distribuovaný model objektu SQL serveru, který má v sobě zabudováno naprosto vše, co je k práci s SQL serverem třeba. Pomocí SQL-DMO lze zjišťovat stav služeb, spouštět nebo pozastavovat SQL server, pracovat se strukturami databází a tabulek, vytvářet nebo aktualizovat úlohy pro SQLAgenta a spoustu dalších užitečných věcí, jako například využívání jazyka T-SQL :)

Jen na okraj - tento seriál se věnuje použití SQL-DMO pro MS SQL Server 2000. Pokud pracujete s verzí 6.x, pak je drobný rozdíl v dll souborech. Zatímco verze 6.x a nižší mají SQL-DMO jako součást knihovny SQLOLE.DLL, pak od verze 2000 je SQL-DMO v knihovně SQLDMO.DLL. Bohužel tyto verze jsou mezi sebou naprosto nekompatibilní a SQL-DMO z verze 2000 nelze použít pro práci s SQL servery 6.x a nižšími a naopak.

Trocha teorie
Základním a nejdůležitějším objektem celé knihovny je objekt SQLServer. Pomocí tohoto objektu se lze k SQL serveru připojit a pracovat s jeho kolekcemi, metodami a funkcemi. Mnoho SQL-DMO objektů je v knihovně prezentováno jako vlastnost jiného SQL-DMO objektu. Například objekt Database má jako jednu z vlastností položku Tables, ale tato položka je také objektem, složeným z kolekce objektů Table, které jsou také objekt. V podstatě se dá říci, pokud přirovnáme knihovnu k prvku TreeView, který jistě dobře znáte, že celá knihovna se nechá popsat jako strom, tvořený jednotlivými větvemi a podvětvemi, a hlavním prvkem (root) je objekt SQLServer.

Ono to vypadá celkem jednoduše, a dá se říci, že to i poměrně jednoduché je. Ale ne vše (čímž Vás nechci nijak odradit). Většina věcí se dá dělat opravdu jednoduše, ale jsou oblasti, kde můžete tvrdě narazit. Pokud neznáte teorii práce a struktury SQL Serveru 2000 pak Vám doporučuji se zase do moc složitých a hluboko zasahujících věcí nepouštět. SQL-DMO je silný nástroj, který může být vynikajícím pomocníkem, ale pokud jej použijete špatně tak se Vám může stát, že si procvičíte reinstalaci SQL Serveru (v lepším případě, v tom horším můžou zařvat i data).

 Další

Autor: The Bozena