4. diel - MS-SQL krok za krokom: Export
V predchádzajúcej lekcii, MS-SQL krok za krokom: Vkladanie a mazanie dát v tabuľke, sme si ukázali vkladanie a mazanie záznamov.
V tomto MS-SQL tutoriáli si ukážeme, ako exportovať dáta našej databázy a získať tak jej zálohu. Vytvorenie zálohy sa nám bude určite mnohokrát hodiť či už na prípadné obnovenie našich dát, alebo ich zdieľanie s ostatnými.
Typy exportov
Export (alebo aj „záloha“) je súbor s SQL príkazmi, ktorý nám môže slúžiť na zálohu či migráciu databázy alebo iba jej časti. Máme niekoľko typov exportu:
- Kompletný export – Súbor bude obsahovať štruktúru tabuliek aj ich dáta.
- Export štruktúry – Súbor bude obsahovať iba štruktúru databázy. Takýto export môže obsahovať všetky alebo iba vybrané tabuľky.
- Export dát – Súbor bude obsahovať iba dáta tabuliek. Tabuľky môžeme špecifikovať.
Príprava databázy
Skôr než začneme, musíme mať najprv k dispozícii nejakú
databázu s dátami. Použijeme našu databázu s tabuľkou
Pouzivatelia, ktorú sme si tvorili v minulých lekciách. Tabuľku
najprv celú vyprázdnime. Otvoríme si teda okno na vykonanie T-SQL skriptu (v
okne SQL Server Object Explorer klikneme na databázu
databazaPreWeb pravým tlačidlom a vyberieme New
Query...) a zavoláme na tabuľke Pouzivatelia príkaz
TRUNCATE TABLE:
TRUNCATE TABLE [Pouzivatelia];
Tabuľku Pouzivatelia následne znovu naplníme, aby sme v nej
mali všetci zhodné dáta:
INSERT INTO [Pouzivatelia] ( [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov] ) VALUES ('Ján', 'Kováč', '1984-03-11', 17), ('Tomáš', 'Horváth', '1989-02-01', 6), ('Jozef', 'Tóth', '1972-12-20', 9), ('Michaela', 'Sláviková', '1990-08-14', 1);
V databáze teraz teda máme štyri záznamy používateľov:

Export dát
Skúsme si najprv exportovať dáta konkrétnej tabuľky, v našom prípade
tabuľky Pouzivatelia. Najjednoduchšie to môžeme urobiť tak,
že si cez okno SQL Server Object Explorer otvoríme dáta tabuľky
pomocou možnosti View Data:

Potom klikneme buď na tlačidlo Script v hornej lište, alebo pravým tlačidlom myši do tabuľky a zvolíme Script:

V novom okne sa nám vygeneruje tento T-SQL skript:
SET IDENTITY_INSERT [dbo].[Pouzivatelia] ON INSERT INTO [dbo].[Pouzivatelia] ([Id], [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov]) VALUES (1, N'Ján', N'Kovác', N'1984-03-11', 17) INSERT INTO [dbo].[Pouzivatelia] ([Id], [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov]) VALUES (2, N'Tomáš', N'Horváth', N'1989-02-01', 6) INSERT INTO [dbo].[Pouzivatelia] ([Id], [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov]) VALUES (3, N'Jozef', N'Tóth', N'1972-12-20', 9) INSERT INTO [dbo].[Pouzivatelia] ([Id], [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov]) VALUES (4, N'Michaela', N'Sláviková', N'1990-08-14', 1) SET IDENTITY_INSERT [dbo].[Pouzivatelia] OFF
Skript najprv nastaví, aby bolo možné pri vkladaní záznamov pomocou
príkazu INSERT nastaviť konkrétnu hodnotu stĺpca
Id. Ten má totiž nastavenú Identity Specification a
priraďovanie hodnôt daného stĺpca je tak v predvolenom nastavení v réžii
databázy.
Potom už nasledujú príkazy na vloženie všetkých záznamov. V prípade, že niektoré záznamy kopírovať nechceme, ich príkazy môžeme zmazať.
Skript je zakončený obnovením predvoleného správania Identity Specification.
Uloženie skriptu do súboru
Skript si uložíme niekam do súboru, pretože ho budeme využívať na
budúci import
Urobíme to
jednoducho kliknutím na tlačidlo na uloženie súboru v hornom paneli alebo
klávesovou skratkou CTRL + S:

Prípadne ho možno uložiť rovno pri vytváraní skriptu, keď neklikneme na Script, ale na Script to File....
Export celej tabuľky
Ak chceme exportovať celú tabuľku, tzn. dáta aj
štruktúru tabuľky, potom je postup trochu zložitejší.
Presunieme sa do okna SQL Server Object Explorer. Tu klikneme na
tabuľku Pouzivatelia pravým tlačidlom myši a zvolíme možnosť
Script As. Ponúknu sa nám tri možnosti:
- CREATE To – Vygeneruje T-SQL skript na vytvorenie tabuľky.
- DROP To – Vygeneruje T-SQL skript na zmazanie tabuľky.
- DROP And CREATE To – Vygeneruje T-SQL skript na zmazanie a následné znovuvytvorenie tabuľky.
Všetky tieto možnosti ďalej potom ponúkajú:
- New Query Window – Otvorí vygenerovaný skript v novom okne.
- Clipboard – Vloží vygenerovaný skript do schránky.
- File – Uloží vygenerovaný skript do súboru.
My zvolíme DROP And CREATE To a následne New Query Window:

Otvorí sa nám okno s nasledujúcim T-SQL skriptom:
USE [databazaPreWeb] GO /****** Object: Table [dbo].[Pouzivatelia] Script Date: 6/11/2026 3:57:04 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO DROP TABLE [dbo].[Pouzivatelia]; GO CREATE TABLE [dbo].[Pouzivatelia] ( [Id] INT IDENTITY (1, 1) NOT NULL, [Meno] NVARCHAR (60) NOT NULL, [Priezvisko] NVARCHAR (60) NOT NULL, [DatumNarodenia] DATE NOT NULL, [PocetClankov] INT NOT NULL );
Skript začína príkazom USE, ktorý určuje, na akej databáze
sa majú nasledujúce príkazy vykonať. Predvolená je zdrojová databáza, pri
importe ju prípadne musíme zmeniť. Príkazy SET pre nás nie sú
až také zaujímavé – ide iba o nastavenie správania databázy, ktoré je
vyžadované na správne vykonanie ďalších príkazov.
Kľúčové sú tu nám už známe príkazy DROP TABLE a
CREATE TABLE, ktoré zaistia zmazanie a následné znovuvytvorenie
tabuľky.
Príkaz GO iba oddeľuje príkazy skriptu do
jednotlivých skupín. Toto delenie využívajú predovšetkým nástroje
spracúvajúce daný skript, aby ho mohli správne vykonať.
Export štruktúry aj s dátami
Skript vyššie využijeme v situácii, keď chceme exportovať iba štruktúru tabuľky. My však chceme spolu so štruktúrou exportovať aj dáta danej tabuľky. Visual Studio však neumožňuje takýto skript automaticky vygenerovať. To pre nás ale nie je zásadný problém, takýto skript si môžeme vytvoriť sami. Jednoducho spojíme oba skripty, ktoré sme si už vygenerovali.
Vrátime sa k skriptu na export dát, celý ho skopírujeme (CTRL + C) a vložíme (CTRL + V) na koniec skriptu na export štruktúry. Dostaneme tak nasledujúci skript:
USE [databazaPreWeb] GO /****** Object: Table [dbo].[Pouzivatelia] Script Date: 6/11/2026 3:57:04 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO DROP TABLE [dbo].[Pouzivatelia]; GO CREATE TABLE [dbo].[Pouzivatelia] ( [Id] INT IDENTITY (1, 1) NOT NULL, [Meno] NVARCHAR (60) NOT NULL, [Priezvisko] NVARCHAR (60) NOT NULL, [DatumNarodenia] DATE NOT NULL, [PocetClankov] INT NOT NULL ); SET IDENTITY_INSERT [dbo].[Pouzivatelia] ON INSERT INTO [dbo].[Pouzivatelia] ([Id], [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov]) VALUES (1, N'Ján', N'Kovác', N'1984-03-11', 17) INSERT INTO [dbo].[Pouzivatelia] ([Id], [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov]) VALUES (2, N'Tomáš', N'Horváth', N'1989-02-01', 6) INSERT INTO [dbo].[Pouzivatelia] ([Id], [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov]) VALUES (3, N'Jozef', N'Tóth', N'1972-12-20', 9) INSERT INTO [dbo].[Pouzivatelia] ([Id], [Meno], [Priezvisko], [DatumNarodenia], [PocetClankov]) VALUES (4, N'Michaela', N'Sláviková', N'1990-08-14', 1) SET IDENTITY_INSERT [dbo].[Pouzivatelia] OFF
Tento skript teda zaistí zmazanie tabuľky
Pouzivatelia, vytvorenie novej tabuľky
Pouzivatelia a nakoniec vloženie dát.
Skript si opäť uložíme niekam do súboru na budúci import, napríklad pomocou CTRL + S.
Export celej databázy
Visual Studio umožňuje exportovať celú databázu ako tzv.
data-tier application (DAC), ktorá sa prenáša v rámci
balíčka DACPAC (súbor s príponou .dacpac). V
podstate ide o formát na prenos celých MS-SQL databáz vrátane
štruktúr všetkých tabuliek a
dát v nich obsiahnutých. DAC sa okrem zálohy dá taktiež
použiť na nasadenie databázy na cloud, napríklad na Azure.
Balíček DACPAC vyexportujeme tak, že klikneme na databázu pravým tlačidlom myši v SQL Server Object Explorer a zvolíme Extract Data-tier Application...:

Otvorí sa nám dialóg, kde zvolíme umiestnenie a názov súboru, najjednoduchšie kliknutím na Browse...:

Ďalej si môžeme zvoliť, či chceme vyexportovať iba štruktúru celej databázy (Extract schema only), alebo aj dáta (Extract schema and data). V prípade druhej možnosti si môžeme vybrať konkrétne tabuľky pomocou tlačidla Select Tables...:

Vyberme teda umiestnenie exportovaného súboru, možnosť Extract schema and data so všetkými tabuľkami a tlačidlom OK celý export potvrďme. Úspešnosť exportu sa vypíše v okne Data Tools Operations:

Tým máme k dispozícii export celej našej databázy.
V nasledujúcej lekcii, MS-SQL krok za krokom: Import, si ukážeme import databázy.