Darbības, lai migrētu visus datus starp SQL Server serveriem
vide
- SQL Serveris
-
- SQL Server 2019
- SQL Server 2012
Kā tiek migrēta datu migrācija un katras priekšrocības un trūkumi
Ir vairāki veidi, kā migrēt SQL Server datu bāzes datus uz SQL Server citos serveros vairumā: Katram ir savas priekšrocības un trūkumi migrācijas laikā, tāpēc izvēlieties metodi, kas vislabāk atbilst jūsu videi.
Migrācijas metodes | tīkla savienojamība starp | serveriemIepriekšējā | failu izmēru tabulu izkārtojumu autentifikācija migrēšanas laikā | uz iepriekšējām versijām | |
---|---|---|---|---|---|
Datu bāzu dublēšana un atjaunošana | Nav nepieciešams (pārvietot failus) | slikts | Parasto | Nav nepieciešams (automātiska pilnīga nomaiņa) | Nevajadzīgu |
Izvades dati kā SQL | Nav nepieciešams (pārvietot failus) | Izbraucams | liels | Nepieciešams vai izdzēsts tabulā | Nevajadzīgu |
Izmantojiet rīku Datu importēšana un eksportēšana | nepieciešamība | Izbraucams | bez | Atkarībā no migrācijas iestatījumiem | nepieciešamība |
Priekšnosacījumu
- Pieņemsim, ka sql serveris un SQL Server Management Studio ir instalēti katrā serverī.
- Šie padomi uzdrošinās padarīt SQL serveru versijas atšķirīgas.
Izveidot parauga datus
Apspriežot datu migrāciju, tas tiek darīts datu bāzē ar šādu tabulas konfigurāciju:
Datu migrācijas avots
SQL Server 2012
- 1. tabula (kolonna:taustiņš, vērtība)
- 2. tabula (kolonna:taustiņš, vērtība, piezīmes)
- 3. tabula (kolonna:taustiņš, vērtība)
Tālāk ir norādīts datu bāzes izveides skripts. Mainiet ceļu savlaicīgi.
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
Zemāk ir tabulas izveides skripts.
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
Šis ir papildu ieraksta skripts:
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
Datu migrācija uz
SQL Server 2019
- 1. tabula (kolonna:taustiņš, vērtība)
- 2. tabula (kolonna:atslēga, vērtība)
Ieraksti katrā tabulā ir tukši.
Tālāk ir norādīts datu bāzes izveides skripts. Mainiet ceļu savlaicīgi.
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
Zemāk ir tabulas izveides skripts.
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
Kā datu bāzes dublēšana un migrācijas atjaunošana
Šī metode ir dublēt visu datu bāzi kā failu avota serverī, kopēt to mērķa serverī un uzņemt to. Tāpēc visas tabulu konfigurācijas ir iestatītas uz mērķi, un tās visas ir tādas pašas kā avots.
Turklāt šī metode neļauj migrēt no jaunākas SQL Server versijas uz vecāku versiju. (Ja versijas atšķirība ir maza, tas var būt iespējams))
Procedūru
Startējiet SQL Server pārvaldības studiju no avota. Izvēlieties mapi, kas atbilst jūsu SQL Server versijai.
Piesakieties mērķa serverī. Datoros, kuros izmanto SQL Server Management Studio, citos datoros viss ir kārtībā, taču šie padomi ļauj jums visiem darboties savos serveros.
Objektu pārlūkā ar peles labo pogu noklikšķiniet uz datu bāzes un atlasiet Dublēšana uzdevumiem.
Izdzēsiet sākotnējo dublēšanas ceļu dublējuma galamērķu sarakstā apakšējā labajā stūrī.
Dzēšot to, noklikšķiniet uz pogas Pievienot.
Noklikšķiniet uz pogas Mainīt ceļu.
Es domāju, ka mape "Backup" ir atlasīta pēc noklusējuma, tāpēc ievadiet faila nosaukumu, lai dublētu zemāk esošajā faila nosaukumā, un noklikšķiniet uz pogas Labi. Faila nosaukums nav obligāts, tāpēc padariet to viegli saprotamu.
Noklikšķiniet uz pogas Labi.
Pārbaudiet, vai tas ir pievienots sarakstam, un pēc tam noklikšķiniet uz pogas Labi.
Tā kā dublējuma fails ir izveidots nākamajā mapē, es aizvedīšu šo failu uz serveri, uz kuru vēlos to migrēt. Mapes ceļš ir atkarīgs no SQL Server versijas un instances nosaukuma, tāpēc pārbaudiet to savlaicīgi.
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup
Statuss pēc kopēšanas mērķa serverī. Tas tiek ievietots šajā mapē, jo to ir vieglāk ielādēt, ja ievietojat to SQL Server mapē Dublējums. Tas ir atkarīgs arī no SQL Server versijas un instances nosaukuma, tāpēc, lūdzu, pārbaudiet to savlaicīgi.
C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\Backup
Startējiet SQL Server pārvaldības studiju serverī, uz kuru migrējat. Jūs esat pieteicies savā serverī šeit.
Objektu pārlūkā ar peles labo pogu noklikšķiniet uz mērķa datu bāzes un pēc tam atlasiet Uzdevumi, Atjaunošana un Datu bāze.
Pārliecinieties, vai kreisās lapas atlasē ir atlasīts vispārīgs, labajā pusē esošajā sadaļā "Avots" atlasiet "Ierīce" un labajā pusē noklikšķiniet uz pārlūkošanas pogas.
Noklikšķiniet uz pogas Pievienot.
Atlasiet paņemto failu.
Kreisās lapas atlasē atlasiet "Opcijas" un pārbaudiet šādas divas. Ja pārbaudāt šos divus, varat piespiest kādu citu sistēmu apmainīt, kamēr ir izveidots savienojums ar datu bāzi.
- Esošas datu bāzes pārrakstīšana
- Esoša savienojuma slēgšana ar mērķa datu bāzi
Tomēr, lūdzu, ņemiet vērā, ka, ja atjaunošana neizdodas, ja ir atzīmēta opcija "Aizvērt esošo savienojumu ar mērķa datu bāzi", sākotnējā datu bāze var nebūt pieejama.
Veicot pārbaudi, noklikšķiniet uz pogas Labi.
Varat pārbaudīt, vai tabulas konfigurācija un ieraksti ir pilnībā migrēti.
Starp citu, ja mēģināt atjaunot jaunāku SQL Server datu bāzes versiju uz vecāku SQL Server versiju, tiek parādīta šāda kļūda: Šī datu migrācijas metode ir balstīta uz to pašu versiju vai uz jaunāku versiju.
Kā: izvadīt datus kā SQL (skriptu) un palaist tos mērķa datu bāzē
Tas ir veids, kā izvadīt visus tabulas ierakstus kā ievietot pārskatus. Tā kā SQL priekšraksti ir gandrīz vienādi, dažos gadījumos tos var lietot cita veida datu bāzēm neatkarīgi no SQL Server versijas.
Tomēr, tā kā ieraksti tiek rakstīti, lai ievietotu teikumus pa vienam, faila lielums palielinās. Tāpēc, palielinoties ierakstu skaitam, tas ir bezjēdzīgi, tāpēc tā ir metode, ko var izmantot, ja skaits ir mazs.
Tas arī ģenerē SQL tabulai, no kuras tas tika migrēts, tāpēc tas nav pieejams, ja tas atšķiras no tabulas konfigurācijas, uz kuru tas tiek migrēts. Varat arī iekļaut tabulas izveidi SQL, bet tabula ir jāizdzēš vienu reizi galamērķī.
Procedūru
Startējiet SQL Server pārvaldības studiju no avota. Izvēlieties mapi, kas atbilst jūsu SQL Server versijai.
Piesakieties mērķa serverī. Datoros, kuros izmanto SQL Server Management Studio, citos datoros viss ir kārtībā, taču šie padomi ļauj jums visiem darboties savos serveros.
Ar peles labo pogu noklikšķiniet uz mērķa datu bāzes un atlasiet "Uzdevums" un "Ģenerēt skriptu".
Noklikšķiniet uz Tālāk.
Varat izvēlēties, kurām tabulām migrēt datus. Šeit atlasiet visu vai atlasiet konkrētu tabulu.
Tā kā izvade ir SQL, varat izvēlēties "Fails", "Starpliktuve" vai "Rādīt logā". Pēc atlasīšanas augšējā labajā stūrī noklikšķiniet uz pogas "Papildu".
Atlasiet Dati tikai no "Datu tipi skriptu ģenerēšanai" grupā Vispārīgi.
Pēc tam atlasiet "Tālāk", lai apstiprinātu. Var redzēt, ka SQL ir ģenerēts. Atliek tikai palaist šo SQL galamērķī.
Tā kā tas ir tikai ievietošanas priekšraksts, ja vēlaties, lai dati būtu vienādi, visi ieraksti galamērķī ir jāizdzēš iepriekš.
Migrēt arī tabulu konfigurācijas
Ja vēlaties migrēt arī tabulu konfigurācijas, iestatiet iepriekšējo atlasi "Datu tips skriptu ģenerēšanai" uz Shēma un Dati.
Tabulas izveides skripts tiek ģenerēts arī šādi: Ja vēlaties to izmantot, tas tiks izpildīts pēc migrējamās tabulas dzēšanas.
Tas arī ģenerē datu bāzes izveides skriptu, ja tas ir iekļauts.
Kā migrēt datus, izmantojot datu importēšanu un eksportēšanu
Instalējot SQL Server, instalējat arī rīku ar nosaukumu Importēt un eksportēt datus. To var izmantot, lai migrētu datus no tabulas uz citu serveri.
Šī rīka migrācijas priekšrocība ir tā, ka datus var migrēt arī uz vecākām SQL Server versijām. To ir nedaudz grūti izmantot, bet to var migrēt vairāku minūšu līmenī pat ar aptuveni 1 miljonu datu, tāpēc tas ir piemērots arī lielai datu migrācijai. Tomēr ņemiet vērā, ka avota un mērķa serveriem jābūt savienotiem privātā tīklā un tos nevar izmantot starp serveriem ar pilnīgi atšķirīgiem tīkliem.
Priekšnosacījumu
Veidojiet SQL Server autentifikāciju vai Windows autentifikāciju, lai katram SQL Serverim varētu piekļūt no datora, kas izmanto šo rīku.
Šie padomi izmanto šo rīku no servera, no kura tas tika migrēts.
Procedūru
Izvēlnē Sākt atlasiet Importēt un eksportēt datus. Tas ir iekļauts SQL Server mapē, bet mapes nosaukums mainās atkarībā no SQL Server versijas, tāpēc meklējiet to savlaicīgi.
Noklikšķiniet uz Tālāk.
Atlasiet datu bāzi, no kuras vēlaties migrēt. Šoreiz tas darbojas avota serverī, lai jūs varētu iziet cauri Windows autentifikācijai.
Parametra nosaukuma | iestatījuma vērtības | piezīmes |
---|---|---|
Datu avoti | SQL Server vietējais klients 11.0 | |
Servera nosaukums | (vietējais) | Ja tas ir cits serveris vai ir norādīts instances nosaukums, lūdzu, ievietojiet tā vērtību |
Autentifikācijas | Windows autentifikācija | |
datu bāze | Paraugadatu bāze | Ievadiet tās datu bāzes nosaukumu, no kuras faktiski vēlaties migrēt |
Pēc tam iestatiet mērķa datu bāzes savienojuma iestatījumus. Sql Server autentifikācija tiek izmantota, jo tā atrodas citā serverī.
Parametra nosaukuma | iestatījuma vērtības | piezīmes |
---|---|---|
Datu avoti | SQL Server vietējais klients 11.0 | |
Servera nosaukums | Mērķa servera nosaukums (+ \instances nosaukums)] | |
Autentifikācijas | SQL Server autentifikācija | |
datu bāze | Paraugadatu bāze | Ievadiet datu bāzes nosaukumu, uz kuru faktiski migrēt |
Atzīmējiet "Kopēt datus no vienas vai vairākām tabulām vai skatiem" un noklikšķiniet uz nākamās pogas.
Atlasiet tabulu, kuru vēlaties migrēt. Šajā sarakstā tiek rādīts arī skats, tāpēc nepārbaudiet to.
Ja avota un mērķa tabulu nosaukumi ir vienādi, migrējamā tabula tiek atlasīta automātiski. Tas arī automātiski iestata kolonnu nosaukumu kartēšanu, ja kolonnu nosaukumi ir vienādi.
Šeit ir dažas lietas, kas jāpatur prātā:
- Ja primārā atslēga ir automātiski numurēta, migrācija neizdosies, ja sadaļā "Rediģēt kartēšanu" nepārbaudīsiet "Atļaut ID ievietošanu"
- Ja nav tabulu, uz kurām migrēt, tiek izveidota tabula
- Ja mērķa tabulai nav vienāds kolonnas nosaukums, tā netiks migrēta. Neturpiniet migrēt vai mainīt mērķa kolonnu.
- Ieraksti tiek pievienoti pēc noklusējuma. Ja vēlaties to aizstāt, iepriekš izdzēsiet ierakstu galamērķī vai atzīmējiet "Dzēst rindas mērķa tabulā" sadaļā "Rediģēt kartēšanu"
Faktiski jums ir jāapsver iepriekš minētais, bet šajos padomos galamērķī nav datu un nav automātiskas numerācijas, tāpēc jūs varat turpināt, neko nenosakot.
Pārliecinieties, vai ir atzīmēta opcija "Run Now", un noklikšķiniet uz "Tālāk".
Noklikšķiniet uz Gatavs.
Sākas datu migrācija. Aizvērt, kad visas migrēšanas ir pabeigtas.
Ja aplūkojat mērķa datu bāzi, varat pārbaudīt, vai ir izveidota neesoša tabula. Var arī redzēt, ka esošajām tabulām vairs nav kolonnu.
Varat pārbaudīt, vai dati tiek migrēti. Piezīmju kolonnas 2. tabulā nav kartētas un nav migrētas.