Archiív rubriky: Užitečné SQL skripty

SQL Synonym – alternativní název objektu v databázi

SQL Synonym je příkaz, který je v SQL Server již od verze SQL Server 2005. Tato funkce slouží k tomu, že můžeme vytvořit referenci (alternativní jméno) na objekt v jeho kompletní cestě – four part name, tedy [Server].[Databáze].[schéma].[objekt]. To je velmi pohodlné, protože nemusíme tolik psát a je to i výhodné pokud pracujeme v databázi,… Čtěte více »

SQL Seznam tabulek bez primárního klíče – skript

Tabulce bez clusterovaného indexu se říká heap (hromada), protože je to jen hromada neuspořádaných dat. Naopak tabulka s clusterovaným indexem je lépe strukturovaná do balanced tree. Primární klíč je sám o sobě clusterovaným indexem a měla by ho mít každá tabulka. Tabulka uspořádaná do balanced tree daleko lépe v rámci datového modelu performuje při dotazech.… Čtěte více »

SQL Seznam sloupců s určitým datovým typem – INFORMATION_SCHEMA.COLUMNS

Denním chlebem db admina je sledovat v jaké kondici se nachází jeho databáze a SQL Server instance. Často je v rámci politiky stanoveno, že některé sloupce musí mít určitý datový typ – například že se nesmí z určitých důvodů používat (n)varchar (max) a potřebujeme získat seznam sloupců a datové typy, které se v naší databázi… Čtěte více »

SQL Datum – Dnešní datum, číslo týdne, měsíce a další skripty

Operace nad datumovými datovými typy jsou hodně frekventované a často potřebujeme pomocí SQL funkcí získat datum nebo nějakou jinou informaci, která z datumu vychází – například číslo týdne, měsíce, roku, posledního dne v měsíci a podobně. Dnešní datum – GETDATE(), SYSDATETIME() Dnešní datum a čas k okamžiku realizace dotazu můžeme získat dvěma způsoby. Prvním je… Čtěte více »

SQL Duplikace hodnot v tabulce s příkladem – Jak vypsat seznam duplicitních hodnot?

V některých situacích si potřebujeme udělat přehled o tom, jaká data se nacházejí v tabulce. Nebo si třeba chceme zkontrolovat jestli se v tabulce nenachází duplikace hodnot, které tam nechceme. Jak vypsat seznam takových duplicitních hodnot? Jak zjistit duplikaci řádků v tabulce? Úlohu budu demonstrovat na jednoduchém příkladu. Mějme tabulku se zákazníky, která se jmenuje… Čtěte více »

SQL IDENTITY (Auto increment) – Automatické zvýšení hodnoty

IDENTITY je v SQL Server vlastnost atributu (sloupce), která umožňuje automatické číslování záznamů, které jsou vkládány do tabulky. Tuto vlastnost lze využít na číselné datové typy. Typické využítí je pro identifikátory a primární klíče. K automatickému číslování lze využít také jiných možností, např SEQUENCE. Syntaxe IDENTITY Identity připojujeme jako vlastnost sloupce např. při založení tabulky… Čtěte více »

DBCC (Database console commands) – Velký přehled

DBCC je zkratka pro database console commands, kdy jsou příkazy prováděné nad určitou databází. Sada DBCC příkazů umožňuje vykonávat určité administrační operace nebo dotazy nad databázemi formou skriptování místo používání grafického rozhraní management studia. Pro exekuci těchto příkazů musíte mít většinou velmi silnou roli (sysadmin, serveradmin, db_owner, atp). Příkazy se dělí do několika skupin: Údržba… Čtěte více »

SQL Schema – Užitečné skripty

Schéma je prostor (kontejner), který sdružuje databázové objekty – tabulky, pohledy, procedury, atd. Primárním důvodem pro zakládání schémat je logické oddělení určitých objektů od jiných a možnost upravovat přístupová práva pro jednotlivá schémata uživatelům. CREATE a DROP SQL Schema 1) Vytvoření SQL schéma: CREATE SCHEMA trzby; 2) Založení SQL schématu s ověřením existence: Pokud chceme… Čtěte více »

SQL Jak poslat email přes SQL Script (sp_send_dbmail) – Database mail (Díl 5.)

Tento díl o mailování ze SQL Serveru bude asi poslední, už mi docházejí nápady 🙂 Poslat email SQL scriptem můžete přes systémovou proceduru “sp_send_dbmail”. Před tím je ale potřeba něco ponastavovat. Jak poslat email přes SQL Script – procedura sp_send_dbmail (1) Především musíte mít nastaven database mail – nastavit email profil můžete podle článku z prvního… Čtěte více »

SQL Vytvoření emailové notifikace – Database mail (Díl 2.)

Minulé 2 články které předcházely jsem věnoval nastavení database mailu a nastavení change trackingu (CDC) neboli automatického sledování změn nad tabulkou. Tak mě napadá proč tyto témata nespojit – popíšu, jak pomocí automatického emailu odreportovat změny nad určitou tabulkou. to se může hodit ne? 🙂 Připomínám, že tato funkce je dostupná v edici Standard a vyšší.… Čtěte více »

SQL Cursor – Ukázka jak funguje SQL kurzor

Nedávno mi psal do komentáře David, že by jej potěšil článek o kurzorech (Chybí vám tu nějaký článek? Napiště si o něj). Mám teď volněji, tak se tu pokusím tady něco uvařit. Každopádně, kurzory jsou obecně velmi slow operace a používal bych je jako možnost poslední instance. Často jde úloha řešit bez kurzoru (rekurzivním dotazem,… Čtěte více »

SQL Vytvoření databáze (CREATE DATABASE) + skript

Databáze je systém souborů a objektů, které jsou v rámci databáze uspořádány a provázány prostřednictvím klíčů. V databázi SQL Server můžeme najít objekty jako – tabulky, pohledy (views), funkce, procedury, triggery a další. V zásadě máme 2 možnosti jak databázi vytvořit. První možnost je vytvoření databáze naklikat v SQL management studio nebo databázi založit pomocí… Čtěte více »

Optimalizace a zrychlení SQL dotazů – 10 tipů s ukázkou

Optimalizace sql dotazů je věčný boj, který začíná už při návrhu architektury databáze a škálování prostředků serveru. Při správném návrhu architektury se můžeme vyvarovat spoustě výkonových problému v budoucnu. V neposlední řadě výkon skriptů můžeme ovlivnit strukturou SQL dotazů a správně nastavenými indexy. Článek rozdělím na 2 hlavnní části: Jak optimalizovat pomocí SQL Architektury Jak… Čtěte více »

SQL Počet řádků a velikost tabulek v databázi + skript

Jednou za čas je potřeba se podívat na to, jak vypadají DB objekty v databázi s ohledem na velikost tabulek (počet řádků a storage). Jak zkontrolovat velikost tabulek v SQL databázi Pokud objektů v databázi není mnoho, tak můžeme kontrolu provést přímo ve vlastnostech jednotlivých tabulek v poli Data space a index space. Velikost tabulky… Čtěte více »

SQL Hierarchie Díl 2 – Rekurzivní dotaz do parent-child hierarchie

V minulém článku jsem popisoval, jak správně založit do sql tabulky hierarchii se zaměstnanci (viz. článek Jak správně vytvořit parent-child strukturu). Nyní bude řeč o tom, jak se do hierarchií dotazovat a jak s nimi pracovat. Můžete na to jít bláznivými skripty nebo od lesa. Způsob od lesa zahrnuje rekurzivní dotaz. Rekurzivní dotaz na hierarchie… Čtěte více »