Koraki za selitev vseh podatkov med strežniki v strežniku SQL Server

Datum ustvarjanja strani :

okolje

STREŽNIK SQL
  • SQL Server 2019
  • SQL Server 2012

Kako se migracija podatkov seli in prednosti in slabosti vsakega

Podatkov zbirke podatkov SQL Server lahko selite v SQL Server na več načinov v razsutem obsegu: Vsaka ima svoje prednosti in slabosti med migracijo, zato izberite metodo, ki najbolje prilega vašemu okolju.

povezljivost med preverjanje pristnosti postavitev tabele velikosti datotek med selitvijo v
Selitvena metoda MrežnastrežnikiPrehronopretekle različice
Shvatenje in obnavljanje zbirk podatkov Ni potrebno (premikanje datotek) slabo navaden Ni potrebno (samodejna popolna zamenjava) Nepotrebnih
Izhodni podatki kot SQL Ni potrebno (premikanje datotek) Povprečno velik Zahtevano ali izbrisano za tabelo Nepotrebnih
Uporaba orodja Uvoz in izvoz podatkov nepogrešljivost Povprečno brez Odvisno od nastavitev selitve nuja

Pogoj

  • Predpostavite, da sta sql server in SQL Server Management Studio nameščena v vsakem strežniku.
  • Ta Nasveti si upajo narediti različice sql strežnika drugačne.

Ustvarjanje vzorčnih podatkov

Ko razpravljate o selitvi podatkov, to storite v zbirki podatkov s to konfiguracijo tabele:

Vir selitve podatkov

SQL Server 2012

  • Tabela 1 (stolpec:Ključ, vrednost)
  • Tabela 2 (Stolpec:Ključ, Vrednost, Pripombe)
  • Tabela 3 (stolpec:Ključ, vrednost)

To je skript za ustvarjanje zbirke podatkov. Pravočasno spremenite pot.

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

Spodaj je skript za ustvarjanje tabele.

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

To je dodatni skript zapisa:

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

Selitev podatkov v

SQL Server 2019

  • Tabela 1 (stolpec:Ključ, vrednost)
  • Tabela 2 (stolpec:Ključ, vrednost)

Zapisi v vsaki tabeli so prazni.

To je skript za ustvarjanje zbirke podatkov. Pravočasno spremenite pot.

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

Spodaj je skript za ustvarjanje tabele.

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

Kako varnostno kopirati in obnoviti selitev zbirke podatkov

Ta metoda je, da kopirate celotno zbirko podatkov kot datoteko v izvornem strežniku, jo kopirate v ciljni strežnik in jo zaužijete. Zato so vse konfiguracije tabele nastavljene na cilj, vse pa so enake kot vir.

Prav tako ta metoda ne omogoča selitve iz novejšo različico strežnika SQL Server v starejšo različico. (Če je razlika v različici majhna, je morda mogoče))

procedura

Zaženite SQL Server Management Studio iz vira. Izberite mapo, ki se ujema z različico strežnika SQL Server.

Prijavite se v ciljni strežnik. Računalniki, ki uporabljajo SQL Server Management Studio, so v redu na drugih računalnikih, vendar vam ta Nasveti vsem omegajo delovanje v lastnih strežnikih.

V Raziskovalcu predmetov z desno tipko miške kliknite zbirko podatkov in izberite Varnostno kopiranje za opravila.

Izbrišite začetno pot varnostnega kopiranja na seznamu ciljnih kopij v spodnjem desnem kotu.

Ko ga izbrišete, kliknite gumb Dodaj.

Kliknite gumb poti spreminjanja.

Mislim, da je mapa "Backup" privzeto izbrana, zato vnesite ime datoteke za varnostno kopiranje v spodnje ime datoteke in kliknite ok gumb. Ime datoteke je neobvezno, zato olajšajte razumevanje.

Kliknite gumb V redu.

Preverite, ali je bil dodan na seznam in kliknite gumb V redu.

Ker je bila varnostna kopija datoteke ustvarjena v tej mapi, bom to datoteko odnesti v strežnik, v katerega jo želim seliti. Pot mape je odvisna od različice strežnika SQL Server in imena primerka, zato jo pravočasno preverite.

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

Stanje po kopiranju v ciljni strežnik. Nahaja se v tej mapi, ker jo je lažje naložiti, če jo postavite v mapo Varnostno kopiranje strežnika SQL Server. To je odvisno tudi od različice strežnika SQL Server in imena primerka, zato ga pravočasno preverite.

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

Zaženite SQL Server Management Studio v strežniku, v katerem se selite. Tukaj ste prijavljeni v strežnik.

V Raziskovalcu predmetov z desno tipko miške kliknite ciljno zbirko podatkov in nato izberite Opravila, Obnovitev in Zbirka podatkov.

Prepričajte se, da je splošno izbrano v izbiri leve strani, izberite »Naprava« na desni strani »Vir« in kliknite gumb za brskanje na desni strani.

Kliknite gumb Dodaj.

Izberite datoteko, ki ste jo prinesli.

Izberite »Možnosti« iz izbire leve strani in preverite naslednja dva. Če preverite ta dva, lahko prisilite drug sistem, da se zamenja med povezavo z zbirko podatkov.

  • Prepis obstoječe zbirke podatkov
  • Zapri obstoječo povezavo z ciljno zbirko podatkov

Vendar upoštevajte, da če obnovitev ne uspe z »Zapri obstoječo povezavo z ciljno zbirko podatkov« je mogoče, da izvirna zbirka podatkov ni na voljo.

Ko preverite, kliknite gumb V redu.

Preverite lahko, ali so konfiguracija tabele in zapisi v celoti selili.

Če poskusite obnoviti novejšo različico zbirke podatkov SQL Server v starejšo različico strežnika SQL Server, boste videli to napako: Ta način selitve podatkov temelji na isti različici drug drugemu ali novejši različici.

Kako: Izhodni podatki kot SQL (Skript) in Zaženite jih v ciljni zbirki podatkov

Tako izpisate vse zapise v tabeli kot vstavite izjave. Ker so SQL izjave skoraj enake, jih je mogoče v nekaterih primerih uporabiti tudi za druge vrste zbirk podatkov, ne glede na različico strežnika SQL Server.

Ker pa so zapisi napisani za vstavljanje stavkov enega za drugim, se velikost datoteke poveča. S povečanjem števila zapisov je torej neusmiljen, zato gre za metodo, ki jo je mogoče uporabiti, ko je število majhno.

Prav tako generira SQL za tabelo, iz katere je bila selitev, tako da ni na voljo, če se razlikuje od konfiguracije tabele, v katero je selitev. V SQL lahko vključite tudi ustvarjanje tabele, vendar morate tabelo enkrat izbrisati na cilj.

procedura

Zaženite SQL Server Management Studio iz vira. Izberite mapo, ki se ujema z različico strežnika SQL Server.

Prijavite se v ciljni strežnik. Računalniki, ki uporabljajo SQL Server Management Studio, so v redu na drugih računalnikih, vendar vam ta Nasveti vsem omegajo delovanje v lastnih strežnikih.

Z desno tipko miške kliknite ciljno zbirko podatkov in izberite »Opravilo« in »Ustvari skript«.

Kliknite Naprej.

Izberete lahko, za katere tabele želite seliti podatke. Tukaj izberite vse ali izberite določeno tabelo.

Ker je izhod SQL, lahko izberete »Datoteka«, »Odložišče« ali »Pokaži v oknu«. Ko izberete, kliknite gumb »Napredno« zgoraj desno.

Izberite Podatki samo iz »Vrste podatkov za ustvarjanje skriptov« v skupini Splošno.

Po tem izberite »Naprej« za potrditev. Vidite lahko, da je SQL ustvarjen. Vse kar je ostalo je, da zaženete ta SQL na cilj.

Ker gre le za vstavek, če želite, da so podatki enaki, morate vnaprej izbrisati vse zapise na cilju.

Selitev konfiguracij tabele tudi

Če želite seliti tudi konfiguracije tabele, nastavite prejšnji izbor »Vrsta podatkov za ustvarjanje skriptov« na shemo in podatke.

Skript za ustvarjanje tabele je ustvarjen tudi na naslednji način: Če želite to uporabiti, ga boste izvršili po brisanju tabele, ki jo želite seliti.

Ustvari tudi skript za ustvarjanje zbirke podatkov, če je tudi vključen.

Selitev podatkov z uporabo uvoza in izvoza podatkov

Ko namestite SQL Server, namestite tudi orodje z imenom Uvoz in izvoz podatkov. S tem lahko selite podatke iz tabele v drug strežnik.

Prednost selitve orodja je v tem, da je mogoče podatke seliti tudi v starejše različice strežnika SQL Server. To je malo težko uporabiti, vendar ga je mogoče seliti na ravni več minut tudi z okoli milijonom podatkov, zato je primeren tudi za velike migracije podatkov. Upoštevajte pa, da morajo biti izvorni in ciljni strežniki povezani v zasebnem omrežju in da jih ni mogoče uporabljati med strežniki s povsem drugačnimi omrežji.

Pogoj

Ustvarite preverjanje pristnosti strežnika SQL Server ali preverjanje pristnosti sistema Windows, tako da lahko dostopate do vsakega STREŽNIKA SQL iz računalnika, ki uporablja to orodje.

Ta nasveti uporabljajo to orodje iz strežnika, iz katerega je bilo selitev.

procedura

V meniju Start izberite Uvozi in izvozi podatke. To je vključeno v mapo v SQL Server, vendar ime mape se razlikuje glede na različico SQL Server, zato ga poiščite pravočasno.

Kliknite Naprej.

Izberite zbirko podatkov, iz katere želite seliti. Tokrat se izvaja v izvornem strežniku, tako da lahko opravite preverjanje pristnosti sistema Windows.

Opombe vrednosti nastavitve imena parametra
Viri podatkov Odjemalec strežnika SQL Server Native Client 11.0
Ime strežnika (lokalno) Če gre za drug strežnik ali ime primerka, prosimo, postavite njegovo vrednost
Preverjanje pristnosti Preverjanje pristnosti sistema Windows
podatkovna zbirka Baza podatkov sampleDatabase Vnesite ime zbirke podatkov, iz katere želite dejansko seliti

Nato nastavite nastavitve povezave za ciljno zbirko podatkov. Preverjanje pristnosti strežnika Sql Server se uporablja, ker je v drugem strežniku.

Opombe vrednosti nastavitve imena parametra
Viri podatkov Odjemalec strežnika SQL Server Native Client 11.0
Ime strežnika Ime ciljnega strežnika (+ \ime primerka)]
Preverjanje pristnosti Preverjanje pristnosti strežnika SQL Server
podatkovna zbirka Baza podatkov sampleDatabase Vnesite ime zbirke podatkov za dejansko selitev v

Preverite »Kopiraj podatke iz ene ali več tabel ali pogledov« in kliknite naslednji gumb.

Izberite tabelo, ki jo želite seliti. Na tem seznamu je prikazan tudi pogled, zato ga ne preverite.

Če so imena izvornih in ciljnih tabel enaka, se samodejno izbere tabela, ki jo želite seliti. Samodejno nastavi tudi kartiranje imen stolpcev, če so imena stolpcev enaka.

Nekaj stvari je treba imeti v mislih:

  • Če je primarni ključ samoštevilček, selitev ne bo uspela, če iz »Urejanje preslikave« ne preverite »Dovoli vstavljanje ID-ja«
  • Če ni tabel za selitev, se ustvari tabela
  • Če ciljna tabela nima istega imena stolpca, ne bo selitev. Ne selite ali spreminjajte ciljnega stolpca.
  • Zapisi so privzeto dodani. Če ga želite zamenjati, vnaprej izbrišite zapis na cilju ali pa potrdite »Izbriši vrstice v ciljni tabeli« iz »Urejanje kartiranje«

V bistvu morate upoštevati zgoraj navedeno, vendar v tem Nasveti, ni podatkov na destinaciji in ni samodejnega oštevilčevanja, tako da lahko nadaljujete brez nastavitve ničesar.

Preverite, ali je »Zaženi zdaj« in kliknite »Naprej«.

Kliknite Končano.

Selitev podatkov se začne. Zaprite, ko se vse selitve končajo.

Če pogledate ciljno zbirko podatkov, lahko preverite, ali je bila ustvarjena tabela, ki ni obstajala. Vidite lahko tudi, da za obstoječe tabele ni več stolpcev.

Preverite lahko, ali se podatki selijo. Stolpci opomb v tabeli 2 niso kartiirani in niso bili selitveni.