5. diel - MS-SQL krok za krokom: Import
V predchádzajúcej lekcii, MS-SQL krok za krokom: Export, sme si ukázali rôzne typy exportov databázy.
V dnešnom MS-SQL tutoriáli si ukážeme, ako do databázy
importovať dáta z predtým vytvorenej zálohy. Konkrétne si ukážeme, ako
importovať celú databázu v podobe .dacpac súboru, celú
tabuľku a iba dáta tabuľky.
Všetky T-SQL skripty a súbory, ktoré dnes budeme používať, sme vytvárali v lekcii MS-SQL krok za krokom: Export. Prípadne si ich môžete stiahnuť na konci tejto lekcie, ak ich už nemáte.
Import celej databázy
Na import celej databázy využijeme náš DACPAC súbor,
ktorý máme vygenerovaný (alebo ho nájdeme priložený na konci lekcie).
Skúsime ho naimportovať na náš lokálny server LocalDB. V okne SQL
Server Object Explorer klikneme pravým tlačidlom na priečinok
Databases/ nášho konkrétneho servera, pre nás je to
(LocalDB)\MSSQLLocalDB, a zvolíme Publish Data-tier
Application...:

Otvorí sa nám dialóg, kde najprv zvolíme náš .dacpac
súbor, najjednoduchšie kliknutím na tlačidlo Browse...:

Ďalej zvolíme názov novej databázy, napríklad
KopiaDatabazyPreWeb, a potvrdíme tlačidlom Publish.
Úspešnosť importu sa vypíše v okne Data Tools Operations:

V okne SQL Server Object Explorer sa nám databáza objaví až po jeho obnovení, ktoré vykonáme kliknutím na tlačidlo Refresh v ľavom hornom rohu:

Ako môžeme vidieť, kópia databázy je nahraná.
Import dát
Keďže máme vygenerovaný T-SQL skript s dátami tabuľky
Pouzivatelia, tak si ich teraz skúsime naimportovať do našej
novo pridanej databázy.
Databáza však tabuľku Pouzivatelia s nejakými dátami už
obsahuje, preto dané dáta najprv zmažeme. Obsah tabuľky si zobrazíme
tradične pomocou View Data. Následne vyberieme všetky záznamy –
napríklad ťahaním myšou po úplne ľavom stĺpci. Vybrané záznamy zmažeme
stlačením klávesu Delete, alebo stlačením pravého tlačidla
myši a voľbou Delete:

Alebo taktiež môžeme na tabuľke zavolať príkaz
DELETE FROM:
DELETE FROM [Pouzivatelia];
Teraz už v tabuľke nemáme žiadne dáta, môžeme si ich preto skúsiť naspäť naimportovať. Import dát do tabuľky vykonáme spustením nášho uloženého T-SQL skriptu na konkrétnej databáze. Pre istotu si ho tu uvedieme:
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
Keby sme dáta importovali do inak pomenovanej tabuľky, tak
samozrejme musíme všade v skripte prepísať názov tabuľky
Pouzivatelia.
Spustenie skriptu zo súboru
V prípade, že sme si skript uložili do súboru, máme dve možnosti, ako ho spustiť.
Prvou možnosťou je daný súbor so skriptom pretiahnuť do hlavného okna Visual Studia, čím ho v ňom otvoríme. Tento skript však nebude naviazaný na našu databázu. Pri spustení skriptu pomocou tlačidla Execute preto budeme vyzvaní na jej vybratie:

My používame lokálnu databázu na lokálnom serveri LocalDB, preto
zvolíme MSSQLLocalDB a v kolónke Database Name našu
databázu, autentifikáciu necháme na predvolenej Windows
Authentication:

Na screenshotoch je použitá inštancia
(localdb)\ProjectModels. Ak ju vo svojom Visual Studiu nevidíte,
použite štandardnú inštanciu (localdb)\MSSQLLocalDB. Na účely
kurzu sú použiteľné obe varianty.
Po potvrdení tlačidlom Connect sa skript konečne vykoná a vypíše sa správa:

Druhú možnosť už vlastne poznáme. Klikneme pravým tlačidlom na požadovanú databázu v okne SQL Server Object Explorer, zvolíme New Query... a do nového skriptu skopírujeme obsah nášho uloženého skriptu, ktorý si môžeme otvoriť v ľubovoľnom textovom editore. Nakoniec novo vytvorený skript spustíme tlačidlom Execute. Tento prístup je vhodnejší v situácii, keď si konkrétny T-SQL skript neukladáme do súboru.
Import celej tabuľky
Na import celej tabuľky Pouzivatelia aj s jej
dátami máme vygenerovaný nasledujúci T-SQL skript (tiež ho
nájdeme v priloženom súbore na konci lekcie):
USE [databazaPreWeb] GO /****** Object: Table [dbo].[Pouzivatelia] Script Date: 6/11/2026 4:19:31 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
Zmazanie tabuľky
Aby sme videli, že sa skript naozaj vykonal, existujúcu tabuľku
Pouzivatelia si najprv zmažeme. V SQL Server Object
Explorer na ňu klikneme pravým tlačidlom a zvolíme
Odstranit:

Na pozadí sa vygeneruje skript na jej zmazanie a my ho iba potvrdíme tlačidlom Update Database:

Ak vám tabuľku nepôjde zmazať, obnovte SQL Server Object Explorer tlačidlom Refresh.
Spustenie skriptu
Teraz sa pustíme do samotného importu. Náš T-SQL skript opäť otvoríme
jeho pretiahnutím do okna Visual Studia, alebo ho z tejto lekcie prekopírujeme
do okna New Query.... V skripte nezabudneme zmeniť názov databázy za
príkazom USE na našu cieľovú databázu:
USE [KopiaDatabazyPreWeb] GO -- ...
Skript spustíme tlačidlom Execute a prepojíme ho s našou databázou:

Vypíše sa nám, že tabuľka nemohla byť zmazaná, keďže neexistuje, ale to nevadí, zvyšok skriptu sa vykoná bez problémov:

Týmto sme ukončili tému exportu a importu databázy vo Visual Studiu
Na pokročilejšie možnosti
exportu a importu je potrebné použiť nástroj SQL
Server Management Studio. Ten umožňuje napríklad aj export a import do/z
rôznych formátov (csv, xlsx a ďalšie).
V nasledujúcom kvíze, Kvíz - Tvorba, vkladanie, import a export dát v MS-SQL, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 113x (4.08 kB)