Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.
IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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...:

Publish Data-tier Application - MS-SQL databázy krok za krokom

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

Publish Data-tier Application dialog - MS-SQL databázy krok za krokom

Ď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:

Data Tools Operations - MS-SQL databázy krok za krokom

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:

Refresh - MS-SQL databázy krok za krokom

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:

Delete - MS-SQL databázy krok za krokom

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:

Tlačidlo Execute - MS-SQL databázy krok za krokom

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:

Dialóg na výber databázy - MS-SQL databázy krok za krokom

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:

Správa po importe dát - MS-SQL databázy krok za krokom

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:

Zmazanie tabuľky - MS-SQL databázy krok za krokom

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

Dialóg na potvrdenie zmazania - MS-SQL databázy krok za krokom

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:

Dialóg na výber databázy - MS-SQL databázy krok za krokom

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:

Správa po vykonaní skriptu - MS-SQL databázy krok za krokom

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 podmienkami

Stiahnuté 113x (4.08 kB)

 

Predchádzajúci článok
MS-SQL krok za krokom: Export
Všetky články v sekcii
MS-SQL databázy krok za krokom
Preskočiť článok
(neodporúčame)
Kvíz - Tvorba, vkladanie, import a export dát v MS-SQL
Článok pre vás napísal Radek Vymětalík
Avatar
Užívateľské hodnotenie:
26 hlasov
...
Aktivity