Kroky na migráciu všetkých údajov medzi servermi v SQL Serveri

Dátum vytvorenia strany :

životné prostredie

SQL Server
  • SQL Server 2019
  • SQL Server 2012

Ako sa migrácia údajov migruje a výhody a nevýhody každého

Existuje niekoľko spôsobov, ako hromadne migrovať databázové údaje servera SQL Server na servery SQL Server na iných serveroch: Každý z nich má svoje výhody a nevýhody počas migrácie, takže si vyberte metódu, ktorá najlepšie vyhovuje vášmu prostrediu.

Metóda migrácie Sieťové pripojenie medzi servermiPresynchronizované overenie rozložení tabuľky veľkosti súboru počas migrácie do minulých verzií
Zálohovanie a obnovenie databáz Nevyžaduje sa (premiestnenie súborov) zlý obyčajný Nevyžaduje sa (automatická úplná výmena) nepotrebný
Výstupné údaje ako SQL Nevyžaduje sa (premiestnenie súborov) Zodpovedajúce veľký Povinné alebo odstránené do tabuľky nepotrebný
Používanie nástroja Import a export údajov nepostrádateľnosť Zodpovedajúce bez V závislosti od nastavení migrácie nutnosť

Predpokladom

  • Predpokladajme, že sql server a SQL Server Management Studio sú nainštalované na každom serveri.
  • Tieto tipy sa odvážia zmeniť verzie servera SQL Server.

Vytvorenie vzorových údajov

Pri diskusii o migrácii údajov tak urobíte v databáze s nasledujúcou konfiguráciou tabuľky:

Zdroj migrácie údajov

SQL Server 2012

  • Tabuľka 1 (stĺpec:Kľúč, Hodnota)
  • Tabuľka 2 (stĺpec:Kľúč, Hodnota, Poznámky)
  • Tabuľka 3 (stĺpec:kľúč, hodnota)

Nasleduje skript na vytvorenie databázy. Zmeňte cestu včas.

USE [master]
GO

CREATE DATABASE [SampleDatabase]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'SampleDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SampleDatabase.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'SampleDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SampleDatabase_log.ldf' , SIZE = 2048KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

Nižšie je uvedený skript vytvárania tabuľky.

USE [SampleDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル1](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
 CONSTRAINT [PK_テーブル1] PRIMARY KEY CLUSTERED 
(
	[キー] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル2](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
	[備考] [nvarchar](50) NULL,
 CONSTRAINT [PK_テーブル2] PRIMARY KEY CLUSTERED 
(
	[キー] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル3](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
 CONSTRAINT [PK_テーブル3] PRIMARY KEY CLUSTERED 
(
	[キー] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

Nasleduje ďalší skript záznamu:

USE [SampleDatabase]
GO
INSERT [dbo].[テーブル1] ([キー], [値]) VALUES (1, N'1aaa')
GO
INSERT [dbo].[テーブル1] ([キー], [値]) VALUES (2, N'1bbb')
GO
INSERT [dbo].[テーブル2] ([キー], [値], [備考]) VALUES (1, N'2aaa', N'2remarks')
GO
INSERT [dbo].[テーブル2] ([キー], [値], [備考]) VALUES (2, N'2bbb', N'2remarks')
GO
INSERT [dbo].[テーブル3] ([キー], [値]) VALUES (1, N'3aaa')
GO
INSERT [dbo].[テーブル3] ([キー], [値]) VALUES (2, N'3bbb')
GO

Migrácia údajov do

SQL Server 2019

  • Tabuľka 1 (stĺpec:Kľúč, Hodnota)
  • Tabuľka 2 (stĺpec:Kľúč, hodnota)

Záznamy v každej tabuľke sú prázdne.

Nasleduje skript na vytvorenie databázy. Zmeňte cestu včas.

USE [master]
GO

CREATE DATABASE [SampleDatabase]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'SampleDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\SampleDatabase.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'SampleDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\SampleDatabase_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
 WITH CATALOG_COLLATION = DATABASE_DEFAULT
GO

Nižšie je uvedený skript vytvárania tabuľky.

USE [SampleDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル1](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
 CONSTRAINT [PK_テーブル1] PRIMARY KEY CLUSTERED 
(
	[キー] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル2](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
 CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED 
(
	[キー] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

Ako zálohovanie databázy a obnovenie migrácie

Touto metódou je zálohovať celú databázu ako súbor na zdrojovom serveri, skopírovať ju na cieľový server a prehltnúť ju. Preto sú všetky konfigurácie tabuliek nastavené na cieľ, z ktorých všetky sú rovnaké ako zdroj.

Táto metóda tiež neumožňuje migrovať z novšej verzie servera SQL Server na staršiu verziu. (Ak je rozdiel vo verzii malý, môže to byť možné))

procedúra

Spustite SQL Server Management Studio zo zdroja. Vyberte priečinok, ktorý sa zhoduje s verziou servera SQL Server.

Prihláste sa na cieľový server. Počítače používajúce SQL Server Management Studio sú v poriadku na iných počítačoch, ale tieto tipy vám umožňujú pracovať na vlastných serveroch.

V Prieskumníkovi objektov kliknite pravým tlačidlom myši na databázu a vyberte položku Zálohovanie pre úlohy.

Odstráňte počiatočnú cestu zálohovania v zozname cieľov zálohovania v pravom dolnom rohu.

Keď ho odstránite, kliknite na tlačidlo Pridať.

Kliknite na tlačidlo zmeniť cestu.

Myslím, že priečinok "Zálohovanie" je predvolene vybratý, takže zadajte názov súboru, ktorý sa má zálohovať v názve súboru nižšie a kliknite na tlačidlo OK. Názov súboru je voliteľný, takže je ľahko pochopiteľný.

Kliknite na tlačidlo OK.

Skontrolujte, či bol pridaný do zoznamu, a potom kliknite na tlačidlo OK.

Keďže záložný súbor bol vytvorený v nasledujúcom priečinku, prenesiem tento súbor na server, na ktorý ho chcem migrovať. Cesta k priečinku závisí od verzie servera SQL Server a názvu inštancie, preto ju včas skontrolujte.

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup

Stav po skopírovaní na cieľový server. Je umiestnený v nasledujúcom priečinku, pretože je ľahšie načítať, ak ho vložíte do priečinka Zálohovanie servera SQL Server. Závisí to aj od verzie servera SQL Server a názvu inštancie, preto ju skontrolujte včas.

C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\Backup

Spustite SQL Server Management Studio na serveri, na ktorý migrujete. Ste prihlásení na svoj server tu.

V Prieskumníkovi objektov kliknite pravým tlačidlom myši na cieľovú databázu a potom vyberte položku Úlohy, Obnovenie a Databáza.

Uistite sa, že vo výbere ľavej strany je vybratá možnosť Všeobecné, vyberte "Zariadenie" z "Zdroj" vpravo a kliknite na tlačidlo prehľadávania vpravo.

Kliknite na tlačidlo Pridať.

Vyberte súbor, ktorý ste priniesli.

Z výberu ľavej strany vyberte "Možnosti" a skontrolujte nasledujúce dve. Ak skontrolujete tieto dva, môžete prinútiť iný systém, aby sa vymenil, keď je pripojený k databáze.

  • Prepísanie existujúcej databázy
  • Zatvorenie existujúceho pripojenia k cieľovej databáze

Upozorňujeme však, že ak obnovenie zlyhá s začiarknutím políčka "Zavrieť existujúce pripojenie k cieľovej databáze", pôvodná databáza nemusí byť k dispozícii.

Keď to skontrolujete, kliknite na tlačidlo OK.

Môžete overiť, či bola konfigurácia tabuľky a záznamy úplne migrované.

Mimochodom, ak sa pokúsite obnoviť novšiu verziu databázy servera SQL Server na staršiu verziu servera SQL Server, zobrazí sa nasledujúca chyba: Táto metóda migrácie údajov je založená na rovnakej verzii navzájom alebo na novšej verzii.

Ako: Výstupné údaje ako SQL (Skript) a spustiť ich v cieľovej databáze

Toto je spôsob, ako výstup všetkých záznamov v tabuľke ako vložiť príkazy. Pretože príkazy SQL sú takmer rovnaké, môžu byť v niektorých prípadoch použité na iné typy databáz bez ohľadu na verziu servera SQL Server.

Keďže sa však záznamy zapisujú na vkladanie viet jeden po druhom, veľkosť súboru sa zväčšuje. Preto, ako sa zvyšuje počet záznamov, je to zbytočné, takže je to metóda, ktorá sa môže použiť, keď je číslo malé.

Generuje tiež SQL pre tabuľku, z ktorej bol migrovaný, takže nie je k dispozícii, ak sa líši od konfigurácie tabuľky, do ktorej sa migruje. Môžete tiež zahrnúť vytvorenie tabuľky v SQL, ale tabuľku musíte odstrániť raz v cieli.

procedúra

Spustite SQL Server Management Studio zo zdroja. Vyberte priečinok, ktorý sa zhoduje s verziou servera SQL Server.

Prihláste sa na cieľový server. Počítače používajúce SQL Server Management Studio sú v poriadku na iných počítačoch, ale tieto tipy vám umožňujú pracovať na vlastných serveroch.

Kliknite pravým tlačidlom myši na cieľovú databázu a vyberte "Úloha" a "Generovať skript".

Kliknite na tlačidlo Ďalej.

Môžete vybrať, pre ktoré tabuľky sa majú migrovať údaje. Tu vyberte všetky alebo vyberte konkrétnu tabuľku.

Keďže výstup je SQL, môžete vybrať "Súbor", "Schránka" alebo "Zobraziť v okne". Po výbere kliknite na tlačidlo "Rozšírené" v pravom hornom rohu.

V skupine Všeobecné vyberte položku Údaje iba z "Typy údajov na generovanie skriptov".

Potom vyberte možnosť "Ďalej", ktorú chcete potvrdiť. Môžete vidieť, že SQL je generovaný. Všetko, čo zostáva, je spustiť tento SQL na cieľ.

Keďže ide len o príkaz na vloženie, ak chcete, aby boli údaje rovnaké, musíte vopred odstrániť všetky záznamy v cieľovom konaní.

Migrácia konfigurácií tabuliek tiež

Ak chcete migrovať aj konfigurácie tabuliek, nastavte predchádzajúci výber "Typ údajov na generovanie skriptov" na položku Schéma a údaje.

Skript vytvárania tabuľky sa generuje aj takto: Ak ho chcete použiť, vykoná sa po odstránení tabuľky, ktorá sa má migrovať.

Tiež generuje skript na vytvorenie databázy, ak je tiež zahrnutý.

Ako migrovať údaje pomocou údajov importu a exportu údajov

Pri inštalácii servera SQL Server nainštalujete aj nástroj s názvom Import a export údajov. Môžete ho použiť na migráciu údajov z tabuľky na iný server.

Výhodou migrácie tohto nástroja je, že údaje môžu byť migrované aj do starších verzií servera SQL Server. Je to trochu ťažké používať, ale môže sa migrovať na úrovni niekoľkých minút aj s približne 1 miliónom údajov, takže je vhodný aj pre veľkú migráciu dát. Všimnite si však, že zdrojové a cieľové servery musia byť pripojené do súkromnej siete a nemôžu byť použité medzi servermi s úplne odlišnými sieťami.

Predpokladom

Vytvorte overovanie sql servera alebo overovanie systému Windows, aby ste mali prístup ku každému serveru SQL Server z počítača, ktorý používa tento nástroj.

Tieto tipy používajú tento nástroj zo servera, z ktorého bol migrovaný.

procedúra

V ponuke Štart vyberte položku Importovať a exportovať údaje. Je súčasťou priečinka SQL Server, ale názov priečinka sa líši v závislosti od verzie servera SQL Server, takže ho vyhľadajte včas.

Kliknite na tlačidlo Ďalej.

Vyberte databázu, z ktorej chcete migrovať. Tentokrát je spustený na zdrojovom serveri, takže môžete prejsť overovaním systému Windows.

Poznámky o hodnote nastavenia názvu parametra
Zdroje údajov Sql Server Natívny klient 11.0
Názov servera (lokálne) Ak ide o iný server alebo je zadaný názov inštancie, uveďte jeho hodnotu
Overovanie Overovanie systému Windows
databáza SampleDatabase Zadajte názov databázy, z ktorej chcete skutočne migrovať.

Potom nastavte nastavenia pripojenia pre cieľovú databázu. Overovanie servera Sql Server sa používa, pretože sa nachádza na inom serveri.

Poznámky o hodnote nastavenia názvu parametra
Zdroje údajov Sql Server Natívny klient 11.0
Názov servera Cieľový názov servera (+ \názov inštancie)]
Overovanie Overovanie servera SQL Server
databáza SampleDatabase Zadajte názov databázy, do ktorej chcete skutočne migrovať

Začiarknite políčko Kopírovať údaje z jednej alebo viacerých tabuliek alebo zobrazení a kliknite na ďalšie tlačidlo.

Vyberte tabuľku, ktorú chcete migrovať. Tento zoznam tiež zobrazuje zobrazenie, takže ho nekontrolujte.

Ak sú názvy zdrojovej a cieľovej tabuľky rovnaké, automaticky sa vyberie tabuľka, ktorá sa má migrovať. Automaticky tiež nastaví priradenie názvov stĺpcov, ak sú názvy stĺpcov rovnaké.

Tu je niekoľko vecí, ktoré treba mať na pamäti:

  • Ak je primárny kľúč automatickým číslom, migrácia zlyhá, ak neskontrolujete "Povoliť vloženie ID" z "Upraviť priradenie"
  • Ak nie sú k dispozícii žiadne tabuľky na migráciu, vytvorí sa tabuľka
  • Ak cieľová tabuľka nemá rovnaký názov stĺpca, nebude migrovaná. Nepokračujte v migrácii ani v zmene cieľového stĺpca.
  • Záznamy sa predvolene pridávajú. Ak ho chcete nahradiť, odstráňte záznam na mieste určenia vopred alebo začiarknite políčko "Odstrániť riadky v cieľovej tabuľke" z časti Upraviť priradenie.

V skutočnosti musíte zvážiť vyššie uvedené, ale v týchto tipoch nie sú žiadne údaje v cieli a neexistuje žiadne automatické číslovanie, takže môžete pokračovať bez toho, aby ste niečo nastavili.

Skontrolujte, či je začiarknuté políčko Spustiť teraz a kliknite na tlačidlo "Ďalej".

Kliknite na hotovo.

Migrácia údajov sa začína. Zatvorte, keď sú dokončené všetky migrácie.

Ak sa pozriete na cieľovú databázu, môžete overiť, či bola vytvorená tabuľka, ktorá neexistovala. Môžete tiež vidieť, že pre existujúce tabuľky už nie sú žiadne stĺpce.

Môžete overiť, či sa údaje migrujú. Stĺpce poznámok v tabuľke 2 nie sú priradené a neboli migrované.