IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - 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.

Dnes si v MS-SQL tutoriálu vytvořenou zálohu (export) databáze a tabulky z této lekce zkusíme naimportovat, tzn. nahrát na server nebo databázi.

Všechny T-SQL scripty a soubory, které dnes budeme používat, si můžete stáhnout na konci této lekce, jestliže 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 této lekce. Zkusíme si ho naimportovat na náš lokální server. V 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 tento dialog:

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

V tomto dialogu nejprve zvolíme náš .dacpac soubor, nejjednodušeji kliknutím na Browse.... Dále zvolíme název nové databáze 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ůžete vidět, tak kopie databáze je nahraná.

Import dat

Jelikož máme vygenerovaný T-SQL script s daty tabulky Uzivatele, tak si je nyní zkusíme naimportovat. Nejdříve však všechna data z této tabulky smažeme. Zobrazíme si je pomocí Show Table Data, vybereme všechny záznamy a stiskneme DEL, nebo pravé tlačítko a Delete:

Delete - MS-SQL databáze krok za krokem

Nebo taktéž můžeme na databázi zavolat tento T-SQL script:

DELETE FROM [Uzivatele];

Nyní v tabulce nemáme žádná data. Import dat do tabulky provedeme spuštěním našeho T-SQL scriptu na konkrétní databázi. Pro jistotu ho zde uvedu:

SET IDENTITY_INSERT [dbo].[Uzivatele] ON
INSERT INTO [dbo].[Uzivatele] ([Id], [Jmeno], [Prijmeni], [DatumNarozeni], [PocetClanku]) VALUES (1, N'Jan', N'Novák', N'1984-11-03', 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)
SET IDENTITY_INSERT [dbo].[Uzivatele] OFF

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

Spuštění scriptu

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

První možností je daný soubor se scriptem přetáhnout do hlavního okna Visual Studia, čímž ho v něm otevřeme. Tento script však nebude navázaný na naši databázi, a tak při jeho spuštění budeme vyzváni k jejímu vybrání. My používáme lokální databázi na lokálním serveru, 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 script 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ě Server Explorer nebo SQL Server Object Explorer, zvolíme New Query a do nového scriptu zkopírujeme obsah našeho uloženého scriptu, který si můžeme otevřít v nějakém textovém editoru. Nakonec nově vytvořený script spustíme. Tento přístup je vhodnější v situaci, kdy si konkrétní T-SQL script neukládáme do souboru.

Import celé tabulky

Pro import celé tabulky i s jejími daty bychom měli mít vygenerovaný tento T-SQL script, nebo ho také najdeme v přiloženém souboru na konci této lekce:

USE [DatabazeProWeb.MDF]
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-11-03', 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)
SET IDENTITY_INSERT [dbo].[Uzivatele] OFF

Pokud tabulku importujete do jiné databáze, tak je potřeba změnit její název za příkazem USE.

Ať vidíme, že se script opravdu provedl, tak si tabulku smažeme. V SQL Server Object Explorer na ni klikneme pravým tlačítkem a zvolíme Delete. Na pozadí se vygeneruje script pro její smazání a my ho jen potvrdíme tlačítkem Update Database:

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

Náš T-SQL script 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, spustíme a provážeme s naší databází. Vypíše se nám, že tabulka nemohla být smazána, jelikož neexistuje, ale to nevadí, zbytek scriptu by se měl provést bez potíží.

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

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 463x (3.6 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í:
295 hlasů
...
Aktivity