Author Archives: Honza Zedníček

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é… Čtěte více »

SQL # Tempová tabulka – Rozdíl mezi # a ## temp tabulkou

Tempová tabulka s hashtagem # nebo ## je dočasná tabulka, která je uložena v systémové databázi tempdb. Tabulka existuje pouze po dobu, po kterou je otevřena user session ID. Rozeznáváme 2 typy tempových tabulek: Lokální # tempová tabulka – je přístupná pouze v rámci dané session, tzn vidí ji pouze uživatel vykonávající skript Globální ## tempová… Čtěte více »

Jak na daňové odpisy v Excelu (Zrychlené a lineární)

Předpokládám, že pokud čtete tento článek, tak o odpisech něco víte a není potřeba se zdržovat vysvětlováním. Pokud nevíte, tak si problematiku z veřejných zdrojů nastudujte. Pro odpisy v Excelu existuje řada funkcí: ODPIS.LIN (v anglickém Excelu SLN) – Lineární odpisy (Nejjednodušší metoda odpisů) ODPIS.NELIN (v anglickém Excelu SYD)  – Zrychlené odepisování (degresivní metodou za… Čtěte více »

Geometrický průměr v Excelu (GEOMEAN) – Jak na to?

Geometrický průměr je statistická veličina, která se nejvíce používá pro vypočítání tempa růstu v čase. V minulém článku jsem se věnoval tomu, jak pomocí Excel funkcí vypočítat v Excelu vážený aritmetický průměr (viz článek Vážený průměr v Excelu) a dnes se podíváme na Geometrický průměr. Vzorec na geometrický průměr Průměr geometrický se počítá podobně jako… Čtěte více »

SQL GO separátor – Vysvětlení příkazu a účelu GO

Možná jste si všimli, že se při generování skriptů v SQL Server používá v syntaxi příkaz nebo lépe řečeno separátor GO. Tento separátor se používá k oddělení dávek v rámci skriptu. Syntaxe, která se nachází v separátoru, je realizována v rámci jednoho exekučního plánu a až poté je realizována další dávka. Příklad na separátor GO… Čtěte více »

SQL OPENJSON funkce – Jak parsovat JSON soubory?

Jedna z novinek, která přišla v nedávných SQL Server verzích je nativní podpora pro JSON formáty. Tato novinka přišla s SQL verzí 2016 (psal jsem o tom v tomto článku). JSON soubor je strukturovaný zápis dat pomocí jednoduché notace (podobně jako např. XML). Podívejme se blíže na novou funkci – OPENJSON. Příklad na SQL funkci… Čtěte více »

SQL příkaz BULK INSERT – import dat ze souboru

V minulém článku jsem popisoval jak funguje bcp utilita, která slouží k import a exportu dat nad SQL Server. Příkaz BULK INSERT funguje na podobném principu a jeho prostřednictvím můžeme provádět importy ze souboru a definovat oddělovače. Syntaxe příkazu BULK INSERT BULK INSERT databaze.schema.tabulka FROM‚zdrojovy soubor‘ WITH ( FIELDTERMINATOR = ‚<oddělovač sloupců>‘, ROWTERMINATOR = ‚<oddělovač… Čtěte více »

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… Čtěte více »

xp_cmdshell – Jak zapnout cmdshell v SQL Server?

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… Čtěte více »

SQL Server Agent pro SQL Express + návod

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… Čtěte více »

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

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… Čtěte více »

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

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.… Čtěte více »

Vnitřní výnosové procento (MÍRA.VÝNOSNOSTI, IRR) | Excel

Vnitřní výnosové procento (IRR – internal rate of return) je ve financích velmi používaný koncept. Používá se zejména při hodnocení návratnosti investice, která přináší v čase určité peněžní toky (často je musíme odhadnout). Každý podnik nebo investor se musí rozhodovat, jestli má smysl vynaložit počáteční investici na určitý projekt, a jestli jsou vynaložené prostředky zainvestovány… Čtěte více »

SOUČHODNOTA (PV) – Současná hodnota | Excel

Funkce Současná hodnota (SOUČHODNOTA) – anglicky present value (PV) slouží zejména při finančních výpočtech. Teorie současné hodnoty je velmi důležitá ve světě financí, zejména při investičním rozhodování. Tato funkce pomáhá při výpočtech zohlednit časovou hodnotu peněz – když od vás dostanu 1 korunu dnes, tak to má pro mě větší hodnotu než 1 koruna zítra.… Čtěte více »