Az sql server kiszolgálói közötti összes adat áttelepítésének lépései

Oldal létrehozásának dátuma :

környezet

SQL Server
  • SQL Server 2019
  • SQL Server 2012

Az adatáttelepítés módja, valamint az egyes

Az SQL Server adatbázisadatainak tömeges áttelepítése többféleképpen is lehetséges más kiszolgálók SQL Server kiszolgálójára: Mindegyiknek megvannak az előnyei és hátrányai a migráció során, ezért válassza ki a környezetének leginkább megfelelő módszert.

szinkron áttelepítés során
Áttelepítési módszer Hálózati kapcsolat a kiszolgálók közöttA fájlmérettáblák elrendezéseinekhitelesítése a korábbi verziókba való
Adatbázisok biztonsági mentése és visszaállítása Nem szükséges (fájlok áthelyezése) rossz hétköznapi Nem szükséges (automatikus teljes csere) szükségtelen
Kimeneti adatok SQL formátumban Nem szükséges (fájlok áthelyezése) tűrhető nagy A táblához kötelező vagy törölt szükségtelen
Az Adatok importálása és exportálása eszköz használata Nélkülözhetetlenség tűrhető nélkül Az áttelepítési beállításoktól függően szükségesség

előfeltétel

  • Tegyük fel, hogy az SQL Server és az SQL Server Management Studio minden kiszolgálón telepítve van.
  • Ez a tipp azt meri, hogy sql szerver verziók különböző.

Mintaadatok létrehozása

Az adatáttelepítés megvitatásakor ezt az adatbázisban a következő táblakonfigurációval teheti meg:

Adatáttelepítés forrása

SQL Server 2012

  • 1. táblázat (Oszlop:Kulcs, Érték)
  • 2. táblázat (Oszlop:Kulcs, Érték, Megjegyzések)
  • 3. táblázat (Oszlop:Kulcs, Érték)

Az alábbi egy adatbázis-létrehozási parancsfájl. Változtassa meg az utat időben.

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

Az alábbiakban egy táblázat-létrehozási szkript található.

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

Az alábbiakban egy további rekord parancsfájl található:

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

Adatáttelepítés

SQL Server 2019

  • 1. táblázat (Oszlop:Kulcs, Érték)
  • 2. táblázat (Oszlop:Kulcs, Érték)

Az egyes táblák rekordjai üresek.

Az alábbi egy adatbázis-létrehozási parancsfájl. Változtassa meg az utat időben.

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

Az alábbiakban egy táblázat-létrehozási szkript található.

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

Az adatbázis biztonsági mentésének és áttelepítésének visszaállítása

Ezzel a módszerrel biztonsági másolatot készít a teljes adatbázisról fájlként a forráskiszolgálón, átmásolja és betölti a célkiszolgálóra. Ezért az összes táblakonfiguráció a célra van állítva, amelyek mindegyike megegyezik a forrással.

Ez a módszer nem teszi lehetővé az SQL Server újabb verziójáról egy régebbi verzióra való áttérést. (Ha a verziókülönbség kicsi, lehetséges.)

eljárás

Indítsa el az SQL Server Management Studio programot a forrásból. Válasszon olyan mappát, amely megfelel az SQL Server verziójának.

Jelentkezzen be a célkiszolgálóra. Az SQL Server Management Studio-t használó számítógépek más számítógépeken is rendben vannak, de ez a tipp lehetővé teszi, hogy mindegyik a saját szerverein működjön.

Az Objektumkezelőben kattintson a jobb gombbal az adatbázisra, és válassza a Biztonsági másolat feladatokhoz parancsot.

Törölje a biztonsági mentés kezdeti elérési útját a biztonsági mentési célok listájában a jobb alsó sarokban.

Törléskor kattintson a Hozzáadás gombra.

Kattintson a módosítási útvonal gombra.

Úgy gondolom, hogy a "Biztonsági másolat" mappa alapértelmezés szerint ki van jelölve, ezért írja be a fájlnevet, hogy biztonsági másolatot készítsen az alábbi fájlnévről, és kattintson az OK gombra. A fájlnév nem kötelező, ezért tegye könnyen érthetővé.

Kattintson az OK gombra.

Ellenőrizze, hogy felvették-e a listára, majd kattintson az OK gombra.

Mivel a biztonságimásolat-fájl a következő mappában jött létre, elviszem ezt a fájlt arra a kiszolgálóra, amelyre át akarom migrálni. A mappa elérési útja az SQL Server verziójától és a példány nevétől függ, ezért ellenőrizze időben.

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

Állapot a célkiszolgálóra történő másolás után. A következő mappába kerül, mert könnyebben betölthető, ha az SQL Server Biztonsági másolat mappájába helyezi. Ez az SQL Server verziójától és a példány nevétől is függ, ezért kérjük, ellenőrizze időben.

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

Indítsa el az SQL Server Management Studio alkalmazást azon a kiszolgálón, amelyre áttelepített. Itt van bejelentkezve a szerverére.

Az Objektumkezelőben kattintson a jobb gombbal a céladatbázisra, majd válassza a Feladatok, visszaállítás és Adatbázis parancsot.

Győződjön meg arról, hogy az Általános beállítás van kiválasztva a bal oldali oldalon, válassza az "Eszköz" lehetőséget a jobb oldali "Forrás" közül, és kattintson a jobb oldali tallózás gombra.

Kattintson a Hozzáadás gombra.

Válassza ki a magával hozott fájlt.

Válassza a "Beállítások" lehetőséget a bal oldali oldal kiválasztásából, és ellenőrizze a következő kettőt. Ha ezt a kettőt ellenőrzi, kényszeríthet egy másik rendszert, hogy cseréljen, miközben csatlakozik az adatbázishoz.

  • Meglévő adatbázis felülírása
  • Meglévő kapcsolat bezárása a céladatbázissal

Kérjük, vegye figyelembe azonban, hogy ha a visszaállítás sikertelen a "Meglévő kapcsolat bezárása a céladatbázishoz" funkcióval, előfordulhat, hogy az eredeti adatbázis nem érhető el.

Ellenőrzéskor kattintson az OK gombra.

Ellenőrizheti, hogy a tábla konfigurációja és a rekordok teljesen áttelepítve vannak-e.

Ha egyébként egy SQL Server adatbázis újabb verzióját próbálja visszaállítani az SQL Server egy régebbi verziójára, a következő hibaüzenet jelenik meg: Ez az adatáttelepítési módszer ugyanazon a verzión alapul, amelyen egymással vagy egy újabb verzióval rendelkezik.

Hogyan lehet: Adatok kimenete SQL-ként (parancsfájlként) és futtatása a céladatbázisban

Így lehet a táblázat összes rekordját beszúrási utasításként kiadni. Mivel az SQL utasítások szinte azonosak, bizonyos esetekben más típusú adatbázisokra is alkalmazhatók, függetlenül az SQL Server verziójától.

Mivel azonban a rekordokat úgy írják, hogy egyesével szúrjanak be mondatokat, a fájlméret növekszik. Ezért, ahogy a rekordok száma növekszik, haszontalan, így ez egy olyan módszer, amely akkor használható, ha a szám kicsi.

SQL-t is létrehoz ahhoz a táblához, amelyből áttelepítették, így nem érhető el, ha eltér attól a táblakonfigurációtól, amelybe áttelepítették. A tábla létrehozását az SQL-ben is felveheti, de a táblát egyszer törölnie kell a célhelyen.

eljárás

Indítsa el az SQL Server Management Studio programot a forrásból. Válasszon olyan mappát, amely megfelel az SQL Server verziójának.

Jelentkezzen be a célkiszolgálóra. Az SQL Server Management Studio-t használó számítógépek más számítógépeken is rendben vannak, de ez a tipp lehetővé teszi, hogy mindegyik a saját szerverein működjön.

Kattintson a jobb gombbal a céladatbázisra, és válassza a "Feladat" és a "Parancsfájl létrehozása" parancsot.

Kattintson a Tovább gombra.

Kiválaszthatja, hogy mely táblákhoz telepítse át az adatokat. Jelölje ki az összes elemet, vagy jelöljön ki egy adott táblát itt.

Mivel a kimenet SQL, kiválaszthatja a "Fájl", a "Vágólap" vagy a "Megjelenítés az ablakban" lehetőséget. A kijelölés után kattintson a jobb felső sarokban található "Speciális" gombra.

Válassza az Adatok csak az Általános csoport "Parancsfájlok létrehozásához szükséges adattípusok" pontját.

Ezután válassza a "Tovább" lehetőséget a megerősítéshez. Láthatja, hogy az SQL létrejön. Már csak az maradt, hogy futtassa ezt az SQL-t a célhelyen.

Mivel ez csak egy beszúrási utasítás, ha azt szeretné, hogy az adatok azonosak legyenek, előzetesen törölnie kell az összes rekordot a rendeltetési helyen.

Táblakonfigurációk áttelepítése is

Ha táblakonfigurációkat is át szeretne telepíteni, állítsa a korábbi "Parancsfájlok létrehozásához szükséges adatok típusa" beállítást Séma és adatok értékre.

A táblázatlétrehozási parancsfájl a következőképpen is létrejön: Ha ezt szeretné használni, akkor az áttelepítendő tábla törlése után kerül végrehajtásra.

Adatbázis-létrehozási parancsfájlt is létrehoz, ha az is szerepel benne.

Adatok áttelepítése adatok importálása és exportálása segítségével

Az SQL Server telepítésekor az Adatok importálása és exportálása nevű eszközt is telepít. Segítségével adatokat telepíthet át egy táblából egy másik kiszolgálóra.

Ennek az eszköznek az áttelepítése az az előnye, hogy az adatok az SQL Server régebbi verzióiba is áttelepíthetők. Kicsit nehéz használni, de akár körülbelül 1 millió adattal is több perc alatt áttelepíthető, így nagy adatáttelepítésre is alkalmas. Ne feledje azonban, hogy a forrás- és célkiszolgálókat magánhálózaton kell csatlakoztatni, és nem használhatók teljesen más hálózattal rendelkező kiszolgálók között.

előfeltétel

Sql Server-hitelesítést vagy Windows-hitelesítést hozhat létre, hogy minden SQL Server-kiszolgálót az eszközt használó számítógépről érhessen el.

Ez a tipp arról a kiszolgálóról használja ezt az eszközt, ahonnan áttelepítették.

eljárás

Válassza a Start menü Adatok importálása és exportálása parancsát. Az SQL Server egy mappájában található, de a mappa neve az SQL Server verziójától függően változik, ezért időben keresse meg.

Kattintson a Tovább gombra.

Jelöljük ki azt az adatbázist, amelyből át szeretnénk telepíteni. Ezúttal a forráskiszolgálón fut, így áthaladhat a Windows hitelesítésen.

Paraméternév-beállítási érték megjegyzései
Adatforrások SQL Server natív ügyfél 11.0
Kiszolgáló neve (helyi) Ha ez egy másik kiszolgáló, vagy egy példány neve van megadva, kérjük, adja meg annak értékét.
hitelesítés Windows-hitelesítés
adatbázis Mintaadatbázis Adja meg annak az adatbázisnak a nevét, amelyből ténylegesen át szeretne migrálni

Ezután adja meg a céladatbázis kapcsolati beállításait. Az SQL Server hitelesítést azért használják, mert az egy másik kiszolgálón van.

Paraméternév-beállítási érték megjegyzései
Adatforrások SQL Server natív ügyfél 11.0
Kiszolgáló neve Célkiszolgáló neve (+ \példánynév)]
hitelesítés SQL Server hitelesítés
adatbázis Mintaadatbázis Adja meg annak az adatbázisnak a nevét, amelybe ténylegesen át szeretne vándorolni

Jelölje be az "Adatok másolása egy vagy több táblából vagy nézetből" jelölőnégyzetet, majd kattintson a következő gombra.

Jelölje ki az áttelepíteni kívánt táblát. Ez a lista a nézetet is megjeleníti, ezért ne ellenőrizze.

Ha a forrás- és céltábla neve megegyezik, az áttelepítendő tábla automatikusan ki lesz jelölve. Automatikusan beállítja az oszlopnevek hozzárendelését is, ha az oszlopnevek azonosak.

Íme néhány dolog, amit szem előtt kell tartani:

  • Ha az elsődleges kulcs automatikus meg van számlálva, az áttelepítés sikertelen lesz, ha nem ellenőrzi az "Azonosító beszúrásának engedélyezése" funkciót a "Hozzárendelés szerkesztése" mezőben.
  • Ha nincsenek olyan táblák, amelyekbe áttelepíthető lenne, létrejön egy tábla
  • Ha a céltábla oszlopneve nem azonos, akkor nem lesz áttelepítve. Ne folytassa az áttelepítést és a céloszlop módosítását.
  • A rekordok alapértelmezés szerint hozzáadódnak. Ha ki szeretné cserélni, előzetesen törölje a rekordot a célhelyen, vagy jelölje be a "Sor törlése a céltáblában" jelölőnégyzetet a "Hozzárendelés szerkesztése" kifejezésből.

Valójában figyelembe kell vennie a fentieket, de ebben a tippben nincsenek adatok a rendeltetési helyen, és nincs automatikus számozás, így bármit is beállíthat.

Győződjön meg arról, hogy a "Futtatás most" jelölőnégyzet be van jelölve, és kattintson a "Tovább" gombra.

Kattintson a Kész gombra.

Megkezdődik az adatáttelepítés. Zárjon be, amikor az összes áttelepítés befejeződött.

Ha megnézi a céladatbázist, ellenőrizheti, hogy létre lett-e olyan tábla, amely nem létezett. Azt is láthatja, hogy nincs több oszlop a meglévő táblákhoz.

Ellenőrizheti, hogy az adatok áttelepítése folyamatban van-e. A 2. tábla jegyzetoszlopai nincsenek leképezve, és nincsenek áttelepítve.