SQL Server

Jednoduché testování výkonu dotazu

Při ladění dotazu v SQL Serveru máme mnoho pokročilých možností, nicméně v jednoduchosti je někdy síla. Pomocí jednoduchého triku si můžeme zobrazit základní informace a námi laděném dotazu a pravidelně tak ověřovat, zda jsme při jeho ladění úspěšní či nikoliv.
DBASQL Server

Ochrana databáze před smazáním

Občas se zkrátka a dobře nedá vždy zabránit tomu, že přijde seshora příkaz, aby ten a ten dostal admin práva na produkci. Jako správný paranoidní DBA to ale nenecháte jen tak a pojistíte si alespoň ten nejhorší možný scénář: že se vetřelec, ať už omylem nebo úmyslně, pokusí smazat jednu…
SQL Server

Extracting data from XML

Getting data from XML is much easier with native support of XML in SQL Server. But it still requires solid knowledge of XML specific things like XPATH or XQUERY. The goal of this article is to collect some useful examples of how to extract values from XML and save time…

Read more
SQL Server

Dočasné uložené procedury

Že je možné v SQL Serveru vytvářet také dočasné uložené procedury ví opravdu jen málo kdo. Ptám se na to s oblibou při náboru nových kandidátů a 9 z 10 se mne zeptá, že jsem měl zřejmě na mysli dočasné tabulky, případně začnou mluvit rovnou o nich. Tedy ano, opravdu…
SQL Server

Identity sloupce a práce s nimi

Dnes se podíváme na stručný přehled všech důležitých funkcí, globálních proměnných a DBCC příkazů pro práci s IDENTITY hodnotami v SQL Serveru. Programátoři často chybují, kdy použít kterou z nich, zejména pak z neznalosti toho, jak se jednotlivé funkce chovají v rámci kontextu, ve kterém jsou volány (tělo uložené procedury,…

Read more
SQL Server

Why it matters if COLLATE is used in WHERE

There is a lot of things we shouldn’t do or use in WHERE clause, i.e scalar functions or data types conversion. They can lead to a suboptimal execution plan and cause serious performance degradation. A similar situation exists for the COLLATE statement. If it is used in WHERE it prevents…
SQL Server

Spojení řetězců pomocí FOR XML PATH

Spojení textových řetězců z více sloupců na řádek můžeme v SQL Serveru v edicích 2016 a nižších vyřešit pomocí FOR XML PATH a je to i vůbec nejpoužívanější způsob. V SQL Serveru 2017 dosáhneme stejného výsledku mnohem elegantnější cestou pomocí funkce STRING_AGG(), která ve všem plně nahradí FOR XML PATH.
SQL Server

Why to avoid functions in WHERE?

It’s well known that we should use functions in the WHERE clause because they can have a negative impact or query execution because of the suboptimal execution plan is generated. I have prepared a really simple example of how to demonstrate this. It also demonstrates one rule that we should…

Read more