Koraki za selitev vseh podatkov med strežniki v strežniku SQL Server
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 vSelitvena metoda | Mrežna | strežnikiPrehrono | pretekle 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.