SQL Server

SQL Server 2016 - Přehled novinek a změn v T-SQL

SQL Server 2016 je skutečným evolučním skokem ve vývoji této oblíbené databázové platformy a jeho význam je srovnatelný s příchodem SQL Serveru 2005 před jedenácti lety. Aktuální vydání přináší spoustu úplných novinek (Temporal Tables, Row Level Security, atd.) i významná rozšíření některých existujících funkcí (Columnstore, InMemory, atd.). V tomto článku…

Read more
SQL Server

#Errors in SSMS built-in reports

If you see picture like below in SSMS build in reports (Disk Usage by Top Table in this case) don’t get panic: It’s only another funny example of well known Out.Of.Memory exception. Just restart SSMS to get better;).
SQL Server

Generátor unikátních ID

V době, kdy ještě neexistovaly v SQL serveru sekvence, jsme při vytvoření generátoru unikátních IDček napříč celou databází byli odkázání na lidovou tvořivost. Dnes si ukážeme snad nejjednodušší možné řešení s využitím SCOPE_IDENTITY () a jedné tabulky, která drží naše již použitá IDčka.

Read more
SQL Server

Nalezení textového řetězce v databázi

V případě, že máme neznámou nebo rozsáhlou databázi a snažíme se dohledat výskyt určitých dat, aniž bychom tušili, v které tabulce je máme hledat, stojíme před otázkou, jak prohledat všechny tabulky, zda se v nich určitý řetězec vyskytuje. Stejný problém budeme řešit i v případě, že máme databázi, která nepoužívá…
SQL Server

IDENTITY sloupec se záporným inkrementem

Kromě klasického nastavení IDENTITY(1,1), tedy inkrementace od jedničky a vždy o +1, můžeme nastavit inkrement i záporný, tedy vždy odečítat jedničku, jak je vidět v příkladu níže.
SQL Server

CURRENT_TRANSACTION_ID()

CURRENT_TRANSACTION_ID() je nenápadná, ale nadmíru užitečná funkce, která přichází v SQL Serveru 2016 a umožňuje nám zjistit, jaké číslo má aktuální transakce v určitém připojení (session). Před SQL Serverem 2016 bylo možné stejnou informaci zjistit ze systémového pohledu sys.dm_tran_current_transaction a můžeme tak činit i nadále, ale skalární návratová hodnota nové…

Read more
SQL Server

DROP...IF EXISTS

Nová syntaxe DROP … IF EXISTS je jednou z nejpraktičtějších novinek v SQL Serveru 2016 a při praktickém vývoji i přípravě deployment skriptů nám může ušetřit spoustu starostí a práce navíc. DROP… IF EXISTS lze použít tehdy, pokud chceme odstranit některý z podporovaných databázových objektů, ale nejsme si jisti, zda…
SQL Server

HASHBYTES() v SQL Serveru 2016

V SQL Serveru 2016 Microsoft konečně vyslyšel volání uživatelů po odstranění jedno z omezení funkce HASHBYTES(), a sice, že maximální délka vstupní hodnoty pro hashování byla omezena na 8000 bytes. SQL Server 2016 toto omezení neobsahuje a je možné získat hash pro BLOB až do maximální hodnoty datového typu, jak…

Read more