Tag Archives: SQL Administrace

Tag SQL Administrace sdružuje články zaměřené na MS SQL Server. Tyto články jsou tématicky věnované Administraci serveru a databází.

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… Read More »

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… Read More »

SQL Error hlášky a závažnost (severity) – sys.messages + Popis

V SQL Server existuje systémová tabulka, ve které jsou uloženy všechny možné Error stavy a jejich závažnost = severity. Error severity nabývá hodnot 0-25 a definuje závažnost chyby. Všechny zprávy se kterými se můžeme v SQL Server setkat jsou uloženy v tabulce sys.messages. USE MASTER SELECT * FROM SYS.MESSAGES WHERE language_id = 1033 Tabulka obsahuje… Read More »

SQL Automatická oprava indexů v SQL Server + skript

V minulém článku (viz. Fragmentace indexů) jsem popisoval, jak zjistit fragmentaci indexů přes skript využívající systémové tabulky. Podle doporučení Microsoftu bychom měli indexy s fragmentací mezi 5 – 30 % reorganizovat (REORGANIZE) a indexy nad 30 % rebuildovat (REBUILD). Využijeme zde skript z minulého článku a vytvoříme automatický skript. Oprava indexů provedená tímto způsobem je… Read More »

SQL Fragmentace indexů – ukázka + sql skripty

Indexy jsou základním pilířem optimalizace SQL dotazů z databáze. Pomocí nich můžeme výrazně zrychlovat operace typu čtení. Bohužel se nám v čase indexy kazí – fragmentují a uspořádání indexů se zhoršuje. Fragmentace indexu je dána tím, že do tabulky se postupně vkládají nebo mažou záznamy a indexy se poté už neoptimalizují. To znamená že jednotlivé… Read More »

BCP utilita – rychlý bulk import a export v SQL Server

BCP je utilita, která je defaultně nainstalována s edicemi SQL Server a slouží k hromadnému importu nebo exportu velkého objemu dat v uživatelsky definovaném formátu. Tato utilita je optimalizována pro velké přesuny dat buďto mezi instancemi SQL serveru nebo mezi SQL instancí a nějakým textovým souborem. Utilita se používá jak pro jednorázový import/export dat, tak… Read More »

xp_cmdshell – Jak zapnout cmdshell v SQL Server?

By | 30.6.2018

xp_cmdshell je opravdu velmi silná procedura, která umožňuje spouštět příkazy přes příkazovou řádku (cmd). Pomocí cmdshell můžete přes SQL platformu realizovat jakoukoliv operaci nad Windows serverem – např. kopírování souborů, vytváření, mazání, apod. Z ale toho ale plynou také velká bezpečnostní rizika. Proto je také procedura defaultně vypnutá a nedoporučuje se její trvalé zapnut z… Read More »

SQL Server Agent pro SQL Express + návod

By | 28.6.2018

SQL Server agent je nástroj integrovaný do SQL Serveru, jehož hlavním účelem je automatické plánování a spouštění úloh. Prostřednictvím SQL Agenta si můžeme založit tzv. Job a v rámci Jobu naplánovat jednotlivé úlohy – třeba spuštění skriptu, SSIS package, powershellu a mnoho dalšího. SQL Server agent je ale bohužel dostupný až od edice Standard a… Read More »

SQL SQLCMD (Server command line) – SQL přes cmd

By | 28.6.2018

V tomto krátkém článku představím možnost, jak lze spustit sql skript mimo SQL management studio nebo jiný SW nástroj. Použijeme utilitu SQL server command line, zkráceně sqlcmd. Tato utilita umožňuje pracovat se SQL serverem prostřednictvím příkazové řádky. Využití je zřejmé a to třeba práce s SQL z různých aplikací. Já si tímto příspěvkem připravuju půdu… Read More »

SQL Login – Definice oprávnění na úrovni serveru

By | 28.6.2018

V administraci SQL Server existují 2 pojmy, které si mezi sebou můžeme snadno splést. Jde o SQL Login a SQL User. Zatímto SQL Login umožňuje spravovat oprávnění pro přístup k serveru, tak SQL User definuje práva pro přístup k databázím. V tomto článku se blíže podíváme na Login. SQL Login Umožňuje přístup k SQL Serveru.… Read More »

SQL Indexy – Teorie indexování jednoduše

By | 7.10.2017

Správné indexování tabulek v SQL Server je základem pro dobrý výkon databází při dotazování. Chcete-li vytvořit vhodné sql indexy, tak je potřeba pochopit, jakým způsobem SQL Server ukládá data do tabulek/indexů. Neméně důležité je také vědět, jak k těmto údajům následně přistupuje při dotazování. Jak SQL server organizuje data fyzicky? V SQL Server je nejmenší… Read More »

SQL Chyba: Login failed for user – co s tím?

SQL Error „Login failed for user <uživatelské jméno>. The user is not associated with a trusted SQL Server connection“ je vcelku častou chybou, kterou uživatelé a administrátoři řeší. Problémem je, že SQL Server nedokáže identifikovat uživatelské jméno. Takto vypadá Error message: Jaké jsou nejčastější důvody? Špatně zadané přihlašovací údaje nebo typ autentizace (Windows vs SQL) Login… Read More »

SQL Chyba: Saving changes is not permitted

Při práci s databázovými objekty se můžeme dostat do situace kdy chceme změnit vlastnost objektu, např. změnit datový typ u sloupce tabulky přes design tabulky v SQL Server management studio. Pokud jsou v tabulce data, tak vám SQL server při pokusu o změnu pravděpodobně vypíše chybu „Saving changes is not permitted. The changes you have… Read More »

SQL Collation – jak změnit collation u sloupce tabulky

Při instalaci SQL Server je jedním z parametrů, který je potřeba při instalace nastavit je Server collation, což je parametr, který ovlivňuje jakým způsobem SQL skladuje non-unicode data. V českých podmínkách bychom měli volit SQL Collation CZECH_CI_AS. Při zakládání databáze si můžeme taktéž zvolit collation, která může být jiná než Collation SQL Server instance. Při… Read More »