NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 5 - MS-SQL krok za krokem: Import

V minulé lekci, MS-SQL krok za krokem: Export, jsme si ukázali různé typy exportů databáze.

V dnešním MS-SQL tutoriálu si ukážeme, jak do databáze importovat data z dříve vytvořené zálohy. Konkrétně si ukážeme, jak importovat celou databázi v podobě .dacpac souboru, celou tabulku a pouze data tabulky.

Všechny T-SQL skripty a soubory, které dnes budeme používat, jsme vytvářeli v lekci MS-SQL krok za krokem: Export. Případně si je můžete stáhnout na konci této lekce, pokud je již nemáte.

Import celé databáze

K importu celé databáze využijeme náš DACPAC soubor, který máme vygenerovaný (nebo ho najdeme přiložený na konci lekce). Zkusíme jej naimportovat na náš lokální server LocalDB. V okně SQL Server Object Explorer klikneme pravým tlačítkem na složku Databases/ našeho konkrétního serveru, pro nás je to (LocalDB)\MSSQLLocalDB, a zvolíme Publish Data-tier Application...:

Publish Data-tier Application - MS-SQL databáze krok za krokem

Otevře se nám dialog, kde nejprve zvolíme náš .dacpac soubor, nejjednodušeji kliknutím na tlačítko Browse...:

Publish Data-tier Application dialog - MS-SQL databáze krok za krokem

Dále zvolíme název nové databáze, například KopieDatabazeProWeb, a potvrdíme tlačítkem Publish. Úspěšnost importu se vypíše v okně Data Tools Operations:

Data Tools Operations - MS-SQL databáze krok za krokem

V okně SQL Server Object Explorer se nám databáze objeví až po jeho obnovení, které provedeme kliknutím na tlačítko Refresh v levém horním rohu:

Refresh - MS-SQL databáze krok za krokem

Jak můžeme vidět, kopie databáze je nahraná.

Import dat

Jelikož máme vygenerovaný T-SQL skript s daty tabulky Uzivatele, tak si je nyní zkusíme naimportovat do naší nově přidané databáze.

Databáze však tabulku Uzivatele s nějakými daty již obsahuje, proto daná data nejprve smažeme. Obsah tabulky si zobrazíme tradičně pomocí View Data. Následně vybereme všechny záznamy – například tak, že vybereme libovolný záznam a poté stisneme kombinaci kláves Ctrl + A. Vybrané záznamy smažeme stisknutím klávesy Delete, nebo stisknutím pravého tlačítka myši a volbou Delete:

Delete - MS-SQL databáze krok za krokem

Nebo taktéž můžeme na tabulce zavolat příkaz DELETE FROM:

DELETE FROM [Uzivatele];

Nyní již v tabulce nemáme žádná data, můžeme si je proto zkusit zpátky naimportovat. Import dat do tabulky provedeme spuštěním našeho uloženého T-SQL skriptu na konkrétní databázi. Pro jistotu si ho zde uvedeme:

SET IDENTITY_INSERT [dbo].[Uzivatele] ON
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (1, N'Jan', N'Novák', N'1984-03-11', 17)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (2, N'Tomáš', N'Marný', N'1989-02-01', 6)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (3, N'Josef', N'Nový', N'1972-12-20', 9)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (4, N'Michaela', N'Slavíková', N'1990-08-14', 1)
SET IDENTITY_INSERT [dbo].[Uzivatele] OFF

Kdybychom data importovali do jinak pojmenované tabulky, tak samozřejmě musíme všude ve skriptu přepsat název tabulky Uzivatele.

Spuštění skriptu ze souboru

V případě, že jsme si skript uložili do souboru, tak máme dvě možnosti, jak ho spustit.

První možností je daný soubor se skriptem přetáhnout do hlavního okna Visual Studia, čímž ho v něm otevřeme. Tento skript však nebude navázaný na naši databázi. Při spuštění skriptu pomocí tlačítka Execute proto budeme vyzváni k jejímu vybrání:

Tlačítko Execute - MS-SQL databáze krok za krokem

My používáme lokální databázi na lokálním serveru LocalDB, proto zvolíme MSSQLLocalDB a v kolonce Database Name naši databázi, autentifikaci necháme na výchozí Windows Authentication:

Dialog pro výběr databáze - MS-SQL databáze krok za krokem

Po potvrzení tlačítkem Connect se skript konečně vykoná a vypíše se zpráva:

Zpráva po importu dat - MS-SQL databáze krok za krokem

Druhou možnost již vlastně známe. Klikneme pravým tlačítkem na požadovanou databázi v okně SQL Server Object Explorer, zvolíme New Query... a do nového skriptu zkopírujeme obsah našeho uloženého skriptu, který si můžeme otevřít v libovolném textovém editoru. Nakonec nově vytvořený skript spustíme tlačítkem Execute. Tento přístup je vhodnější v situaci, kdy si konkrétní T-SQL skript neukládáme do souboru.

Import celé tabulky

Pro import celé tabulky Uzivatele i s jejími daty máme vygenerovaný následující T-SQL skript (také ho najdeme v přiloženém souboru na konci lekce):

USE [databazeProWeb]
GO

/****** Object: Table [dbo].[Uzivatele] Script Date: 26.06.2021 15:48:35 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

DROP TABLE [dbo].[Uzivatele];


GO
CREATE TABLE [dbo].[Uzivatele] (
    [Id]            INT           IDENTITY (1, 1) NOT NULL,
    [Jmeno]         NVARCHAR (60) NOT NULL,
    [Prijmeni]      NVARCHAR (60) NOT NULL,
    [DatumNarozeni] DATE          NOT NULL,
    [PocetClanku]   INT           NOT NULL
);


SET IDENTITY_INSERT [dbo].[Uzivatele] ON
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (1, N'Jan', N'Novák', N'1984-03-11', 17)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (2, N'Tomáš', N'Marný', N'1989-02-01', 6)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (3, N'Josef', N'Nový', N'1972-12-20', 9)
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (4, N'Michaela', N'Slavíková', N'1990-08-14', 1)
SET IDENTITY_INSERT [dbo].[Uzivatele] OFF

Smazání tabulky

Ať vidíme, že se skript opravdu provedl, tak si existující tabulku Uzivatele nejprve smažeme. V SQL Server Object Explorer na ni klikneme pravým tlačítkem a zvolíme Delete:

Vymazání tabulky - MS-SQL databáze krok za krokem

Na pozadí se vygeneruje skript pro její smazání a my ho jen potvrdíme tlačítkem Update Database:

Dialog pro potvrzení smazání - MS-SQL databáze krok za krokem

Spuštění skriptu

Nyní se dáme na samotný import. Náš T-SQL skript opět otevřeme jeho přetažením do okna Visual Studia, nebo ho z této lekce překopírujeme do okna New Query.... Ve skriptu nezapomeneme změnit název databáze za příkazem USE na naši cílovou databázi:

USE [KopieDatabazeProWeb]
GO

-- ...

Skript spustíme tlačítkem Execute a provážeme jej s naší databází:

Dialog pro výběr databáze - MS-SQL databáze krok za krokem

Vypíše se nám, že tabulka nemohla být smazána, jelikož neexistuje, ale to nevadí, zbytek skriptu se provede bez potíží:

Zpráva po vykonání skriptu - MS-SQL databáze krok za krokem

Tímto jsme ukončili téma exportu a importu databáze ve Visual Studiu :) Pro pokročilejší možnosti exportu a importu je nutné použít nástroj SQL Server Management Studio. Ten umožňuje například i export a import do/z různých formátů (csv, xlsx a další).

V následujícím kvízu, Kvíz - Tvorba, vkládání, import a export dat v MS-SQL, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 1061x (4.03 kB)

 

Předchozí článek
MS-SQL krok za krokem: Export
Všechny články v sekci
MS-SQL databáze krok za krokem
Přeskočit článek
(nedoporučujeme)
Kvíz - Tvorba, vkládání, import a export dat v MS-SQL
Článek pro vás napsal Radek Vymětalík
Avatar
Uživatelské hodnocení:
451 hlasů
...
Aktivity