Juhised kõigi andmete migreerimiseks SQL Serveri serverite vahel

Lehe loomise kuupäev :

keskkond

SQL Server
  • SQL Server 2019
  • SQL Server 2012

Kuidas andmete migreerimist migreeritakse ning millised on nende eelised ja puudused

SQL Serveri andmebaasiandmete migreerimiseks SQL Serverisse teistes serverites hulgi on mitu võimalust. Igal neist on rände ajal oma eelised ja puudused, seega valige meetod, mis sobib kõige paremini teie keskkonnale.

üleminekul
Migreerimismeetodi võrguühendus serverite vahel Failisuuruse tabelipaigutuste eelsünkroonne autentimine varasematele versioonidele
Andmebaaside varundamine ja taastamine Pole nõutav (failide teisaldamine) Paha tavaline Pole nõutav (automaatne täielik asendamine) Tarbetu
Andmete väljastamine SQL-ina Pole nõutav (failide teisaldamine) Vastuvõetav suur Nõutav või tabelisse kustutatud Tarbetu
Tööriista Kasutamine Andmete importimine ja eksportimine vältimatus Vastuvõetav ilma Olenevalt migreerimissätetest vajalikkus

eeltingimus

  • Oletame, et sql server ja SQL Server Management Studio on installitud igasse serverisse.
  • Need näpunäited julgevad SQL Serveri versioonid erinevaks muuta.

Näidisandmete loomine

Andmemigreerimise arutamisel teete seda andmebaasis järgmise tabelikonfiguratsiooniga.

Andmemigreerimise allikas

SQL Server 2012

  • Tabel 1 (veerg:võti, väärtus)
  • Tabel 2 (veerg:võti, väärtus, märkused)
  • Tabel 3 (veerg:võti, väärtus)

Järgnev on andmebaasi loomise skript. Muutke teed õigeaegselt.

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

Allpool on tabeli loomise skript.

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

Järgmine on täiendav kirjeskript.

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

Andmete migreerimine andmemigreerimisele

SQL Server 2019

  • Tabel 1 (veerg:võti, väärtus)
  • Tabel 2 (veerg:võti, väärtus)

Iga tabeli kirjed on tühjad.

Järgnev on andmebaasi loomise skript. Muutke teed õigeaegselt.

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

Allpool on tabeli loomise skript.

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

Andmebaasi varundamine ja migreerimise taastamine

See meetod on varundada kogu andmebaas lähteserveri failina, kopeerida see sihtserverisse ja neelata see alla. Seetõttu seatakse kõik tabeli konfiguratsioonid sihtpunkti, mis kõik on samad, mis allikas.

Samuti ei võimalda see meetod teil SQL Serveri uuemast versioonist vanemasse versiooni migreerida. (Kui versiooni erinevus on väike, võib see olla võimalik))

Menetlus

Käivitage SQL Serverihaldusstuudio allikast. Valige kaust, mis vastab teie SQL Serveri versioonile.

Logige sihtserverisse sisse. SQL Serverihaldusstuudiot kasutavad arvutid sobivad hästi ka teistes arvutites, kuid need näpunäited võimaldavad teil kõigil oma serverites töötada.

Paremklõpsake Object Exploreris andmebaasi ja valige Ülesannete varundamine.

Kustutage algne varundusrada paremas allnurgas asuvate varusihtkohtade loendis.

Kui kustutate selle, klõpsake nuppu Lisa.

Klõpsake nuppu Muuda tee.

Ma arvan, et kaust "Varundamine" on vaikimisi valitud, nii et sisestage faili nimi, et varundada allolevasse faili nime ja klõpsake nuppu OK. Faili nimi on valikuline, seega on seda lihtne mõista.

Klõpsake nuppu OK.

Veenduge, et see on loendisse lisatud, ja klõpsake nuppu OK.

Kuna varufail on loodud järgmises kaustas, viin selle faili serverisse, kuhu soovin selle migreerida. Kaustatee sõltub SQL Serveri versioonist ja eksemplari nimest, seega kontrollige seda õigeaegselt.

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

Olek pärast sihtserverisse kopeerimist. See paigutatakse järgmisesse kausta, kuna seda on lihtsam laadida, kui paned selle SQL Serveri kausta Varundamine. See sõltub ka SQL Serveri versioonist ja eksemplari nimest, seega kontrollige seda õigeaegselt.

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

Käivitage SQL Serverihaldusstuudio serveris, kuhu migreerite. Olete siin oma serverisse sisse logitud.

Paremklõpsake Object Exploreris sihtandmebaasi ja seejärel valige Tööülesanded, Taastamine ja Andmebaas.

Veenduge, et vasakpoolse lehe valikus oleks valitud Üldine, valige paremalt lehelt Allikas "Seade" ja klõpsake paremal asuval sirvimisnuppu.

Klõpsake nuppu Lisa.

Valige fail, mille tõite.

Valige vasakpoolse lehe valikust "Suvandid" ja kontrollige kahte järgmist. Kui kontrollite neid kahte, saate sundida mõnda muud süsteemi andmebaasiga ühendamise ajal vahetama.

  • Olemasoleva andmebaasi ülekirjutamine
  • Olemasoleva ühenduse sulgemine sihtandmebaasiga

Pange tähele, et kui taastamine nurjub funktsiooniga "Sulge olemasolev ühendus sihtandmebaasiga", ei pruugi algne andmebaas olla saadaval.

Kui kontrollite, klõpsake nuppu OK.

Saate kontrollida, kas tabeli konfiguratsioon ja kirjed on täielikult migreeritud.

Muide, kui proovite SQL Serveri andmebaasi uuemat versiooni SQL Serveri vanemale versioonile taastada, kuvatakse järgmine tõrge. See andmemigreerimise meetod põhineb samal versioonil üksteisele või uuemale versioonile.

Kuidas: Väljundandmed SQL-ina (skriptina) ja käivitada need sihtandmebaasis

Nii saate väljastada kõik tabelis olevad kirjed avalduste lisamiseks. Kuna SQL-laused on peaaegu samad, saab neid mõnel juhul rakendada muud tüüpi andmebaasidele, olenemata SQL Serveri versioonist.

Kuna aga kirjed kirjutatakse lausete ükshaaval lisamiseks, suureneb faili suurus. Seega, kui kirjete arv suureneb, on see kasutu, seega on see meetod, mida saab kasutada, kui arv on väike.

Samuti genereerib see SQL-i tabeli jaoks, kust see migreeriti, nii et see pole saadaval, kui see erineb tabeli konfiguratsioonist, kuhu see migreeritakse. Samuti saate SQL-is lisada tabeli loomise, kuid peate tabeli üks kord sihtkohas kustutama.

Menetlus

Käivitage SQL Serverihaldusstuudio allikast. Valige kaust, mis vastab teie SQL Serveri versioonile.

Logige sihtserverisse sisse. SQL Serverihaldusstuudiot kasutavad arvutid sobivad hästi ka teistes arvutites, kuid need näpunäited võimaldavad teil kõigil oma serverites töötada.

Paremklõpsake sihtandmebaasi ja valige "Ülesanne" ja "Loo skript".

Klõpsake nuppu Edasi.

Saate valida, milliste tabelite jaoks andmeid migreerida. Valige kõik või valige siin konkreetne tabel.

Kuna väljund on SQL, saate valida "Fail", "Lõikelaud" või "Kuva aknas". Kui see on valitud, klõpsake paremas ülanurgas nuppu "Täpsem".

Valige andmed ainult jaotises Üldine jaotises "Andmetüübid skriptide loomiseks".

Pärast seda valige kinnitamiseks "Edasi". Näete, et SQL on loodud. Kõik, mis on jäänud, on käivitada see SQL sihtkohas.

Kuna see on lihtsalt lisamisavaldus, kui soovite, et andmed oleksid samad, peate kõik sihtkohas olevad kirjed eelnevalt kustutama.

Tabeli konfiguratsioonide migreerimine samuti

Kui soovite ka tabeli konfiguratsioone migreerida, seadke eelmise valiku "Andmete liik skriptide loomiseks" valikuks Skeem ja Andmed.

Tabeli loomise skript luuakse ka järgmiselt. Kui soovite seda kasutada, käivitatakse see pärast migreeritava tabeli kustutamist.

See loob ka andmebaasi loomise skripti, kui see on ka kaasatud.

Andmete migreerimine andmete importimise ja eksportimise teel

SQL Serveri installimisel installite ka tööriista nimega Andmete importimine ja eksportimine. Selle abil saate andmeid tabelist teise serverisse migreerida.

Selle tööriista migreerimise eeliseks on see, et andmeid saab migreerida ka SQL Serveri vanematesse versioonidesse. Seda on veidi raske kasutada, kuid seda saab migreerida mitme minuti tasemel isegi umbes 1 miljoni andmega, seega sobib see ka suurte andmete rändeks. Pange tähele, et lähte- ja sihtserverid peavad olema ühendatud privaatvõrgus ja neid ei saa kasutada täiesti erinevate võrkudega serverite vahel.

eeltingimus

Koostage SQL Serveri autentimine või Windowsi autentimine, et pääseksite igale SQL Serverile juurde arvutit, mis seda tööriista kasutab.

Selles näpunäites kasutatakse seda tööriista serverist, kust see migreeriti.

Menetlus

Valige Menüüst Start käsk Impordi ja ekspordi andmed. See sisaldub SQL Serveri kaustas, kuid kausta nimi varieerub sõltuvalt SQL Serveri versioonist, nii et otsige seda õigeaegselt.

Klõpsake nuppu Edasi.

Valige andmebaas, kust soovite migreerida. Seekord töötab see lähteserveris, nii et saate windowsi autentimise läbida.

Parameetri nime sätte väärtusmärkused
Andmeallikad SQL Serveri kohalik klient 11.0
Serveri nimi (kohalik) Kui see on mõni muu server või on määratud eksemplari nimi, pange selle väärtus
Autentimine Windowsi autentimine
andmebaas SampleDatabase Sisestage selle andmebaasi nimi, kust soovite tegelikult migreerida.

Seejärel seadke sihtandmebaasi ühenduse sätted. Sql Serveri autentimist kasutatakse, kuna see asub teises serveris.

Parameetri nime sätte väärtusmärkused
Andmeallikad SQL Serveri kohalik klient 11.0
Serveri nimi Sihtserveri nimi (+ \eksemplari nimi)]
Autentimine SQL Serveri autentimine
andmebaas SampleDatabase Sisestage andmebaasi nimi, kuhu tegelikult migreerida.

Märkige ruut "Kopeeri andmed ühest või mitmest tabelist või vaatest" ja klõpsake järgmist nuppu.

Valige tabel, mida soovite migreerida. Selles loendis kuvatakse ka vaade, nii et ärge seda kontrollige.

Kui lähte- ja sihttabeli nimed on samad, valitakse migreeritav tabel automaatselt. Samuti määrab see automaatselt veerunimede vastendamise, kui veerunimed on samad.

Siin on mõned asjad, mida meeles pidada:

  • Kui primaarvõti arvutatakse automaatselt, nurjub migreerimine, kui te ei kontrolli "Luba ID sisestamist" jaotisest "Redigeeri vastendust"
  • Kui tabeleid pole, kuhu migreerida, luuakse tabel.
  • Kui sihttabelil pole sama veerunime, siis seda ei migreerita. Ärge jätkake sihtveeru migreerimist ega muutmist.
  • Kirjed lisatakse vaikimisi. Kui soovite selle asendada, kustutage kirje sihtkohas eelnevalt või märkige ruut "Kustuta sihttabeli read" jaotisest "Redigeeri vastendust"

Tegelikult peate ülaltoodut arvestama, kuid nendes näpunäidetes ei ole sihtkohas andmeid ja automaatset nummerdamist ei ole, nii et saate jätkata ilma midagi seadmata.

Veenduge, et ruut "Käivita kohe" oleks märgitud ja klõpsake nuppu "Järgmine".

Klõpsake nuppu Valmis.

Andmete migratsioon algab. Sulgege, kui kõik migreerimised on lõpule viidud.

Kui vaatate sihtandmebaasi, saate kontrollida, kas pole loodud tabelit, mida pole olemas. Samuti näete, et olemasolevate tabelite jaoks pole enam veerge.

Saate kontrollida, kas andmeid migreeritakse. Tabeli 2 märkmeveergud pole vastendatud ja neid pole migreeritud.