Vaiheet kaikkien tietojen siirtämiseksi SQL Serverin palvelinten välillä

Sivun luontipäivämäärä :

ympäristö

SQL-palvelin
  • SQL Server 2019
  • SQL Server 2012

Miten tietojen siirto siirretään ja kunkin

SQL Server -tietokantatietoja voi siirtää SQL Serveriin useissa eri palvelimissa joukkona: Jokaisella on etunsa ja haittansa siirron aikana, joten valitse menetelmä, joka sopii parhaiten ympäristöön.

palvelinten siirtymisen aikana
Siirtomenetelmä VerkkoyhteysvälilläTiedostokokotaulukon asettelujen synkroninen todennus aiempiin versioihin
Tietokantojen varmuuskopiointi ja palauttaminen Ei pakollinen (tiedostojen siirtäminen) Paha tavallinen Ei vaadita (automaattinen täydellinen vaihto) tarpeeton
Tietojen tulostaminen SQL:nä Ei pakollinen (tiedostojen siirtäminen) kulkukelpoinen iso Pakollinen tai poistettu taulukkoon tarpeeton
Tietojen tuominen ja vieminen -työkalun käyttäminen välttämättömyys kulkukelpoinen ilman Siirtoasetuksista riippuen välttämättömyys

edellytys

  • Oletetaan, että sql server ja SQL Server Management Studio on asennettu kuhunkin palvelimeen.
  • Nämä vihjeet uskaltavat tehdä SQL Server -versioista erilaisia.

Mallitietojen luominen

Kun keskustelet tietojen siirrosta, se tehdään tietokannassa seuraavan taulukon kokoonpanon kanssa:

Tiedonsiirron lähde

SQL Server 2012

  • Taulukko 1 (Sarake:Avain, Arvo)
  • Taulukko 2 (Sarake:Avain, Arvo, Huomautukset)
  • Taulukko 3 (Sarake:Avain, Arvo)

Seuraava on tietokannan luontikomentosarja. Muuta polkua ajoissa.

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

Alla on taulukon luontikomentosarja.

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

Seuraavassa on ylimääräinen tietuekomentosarja:

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

Tietojen siirto kohteeseen

SQL Server 2019

  • Taulukko 1 (Sarake:Avain, Arvo)
  • Taulukko 2 (Sarake:Avain, Arvo)

Kunkin taulukon tietueet ovat tyhjiä.

Seuraava on tietokannan luontikomentosarja. Muuta polkua ajoissa.

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

Alla on taulukon luontikomentosarja.

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

Tietokannan varmuuskopioinnin ja palauttamisen siirtäminen

Tämä tapa on varmuuskopioida koko tietokanta lähdepalvelimen tiedostona, kopioida se kohdepalvelimeen ja niellä se. Siksi kaikki taulukon konfiguraatiot on asetettu määränpäähän, jotka kaikki ovat samat kuin lähde.

Tämä menetelmä ei myöskään salli siirtymistä uudemmasta SQL Server -versiosta vanhempaan versioon. (Jos versioero on pieni, se voi olla mahdollista))

menettely

Käynnistä SQL Server Management Studio lähteestä. Valitse kansio, joka vastaa SQL Server -versiotasi.

Kirjaudu kohdepalvelimeen. SQL Server Management Studiota käyttävät tietokoneet ovat kunnossa muissa tietokoneissa, mutta näiden vihjeiden avulla voit kaikki toimia omilla palvelimillasi.

Napsauta tietokantaa hiiren kakkospainikkeella Objektinhallinnassa ja valitse Tehtävien varmuuskopiointi.

Poista alkuperäinen varmuuskopiopolku oikeassa alakulmassa olevasta varmuuskopiokohteiden luettelosta.

Kun poistat sen, napsauta Lisää-painiketta.

Napsauta Muuta polkua -painiketta.

Mielestäni "Varmuuskopiointi" -kansio on valittu oletuksena, joten kirjoita varmuuskopioitava tiedostonimi alla olevaan tiedostonimeen ja napsauta OK-painiketta. Tiedostonimi on valinnainen, joten se on helppo ymmärtää.

Napsauta OK-painiketta.

Varmista, että se on lisätty luetteloon, ja napsauta sitten OK-painiketta.

Koska varmuuskopiotiedosto on luotu seuraavassa kansiossa, vien tämän tiedoston palvelimeen, johon haluan siirtää sen. Kansion polku riippuu SQL Serverin versiosta ja esiintymän nimestä, joten tarkista se ajoissa.

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

Tila kohdepalvelimeen kopioimisen jälkeen. Se sijoitetaan seuraavaan kansioon, koska se on helpompi ladata, jos laitat sen SQL Serverin Varmuuskopio-kansioon. Tämä riippuu myös SQL Serverin versiosta ja esiintymän nimestä, joten tarkista se ajoissa.

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

Käynnistä SQL Server Management Studio palvelimessa, johon olet siirtymässä. Olet kirjautunut palvelimellesi täällä.

Napsauta Resurssienhallinnassa kohdetietokantaa hiiren kakkospainikkeella ja valitse sitten Tehtävät, Palautus ja Tietokanta.

Varmista, että General on valittu vasemman sivun valinnassa, valitse "Laite" oikealla olevasta "Lähde" -kohdasta ja napsauta oikealla olevaa selauspainiketta.

Napsauta Lisää-painiketta.

Valitse tuomasi tiedosto.

Valitse vasemman sivun valinnasta "Asetukset" ja tarkista seuraavat kaksi. Jos tarkistat nämä kaksi, voit pakottaa jonkin muun järjestelmän vaihtamaan, kun olet yhteydessä tietokantaan.

  • Aiemmin luodun tietokannan korvaaminen
  • Aiemmin luodun yhteyden sulkeminen kohdetietokantaan

Huomaa kuitenkin, että jos palautus epäonnistuu ja "Sulje olemassa oleva yhteys kohdetietokantaan" on valittuna, alkuperäinen tietokanta ei ehkä ole käytettävissä.

Kun valitset, napsauta OK-painiketta.

Voit varmistaa, että taulukon määritykset ja tietueet on siirretty kokonaan.

Jos muuten yrität palauttaa SQL Server -tietokannan uudemman version vanhempaan SQL Server -versioon, näet seuraavan virheen: Tämä tietojen siirtomenetelmä perustuu samaan versioon toisilleen tai uudempaan versioon.

Toimintaohje: Tietojen tulostaminen SQL:nä (komentosarja) ja niiden suorittaminen kohdetietokannassa

Näin kaikki taulukon tietueet tulostetaan lisälauseina. Koska SQL-lauseet ovat lähes samat, niitä voidaan joissakin tapauksissa käyttää muuntyyppisissä tietokannoissa SQL Serverin versiosta riippumatta.

Koska tietueet on kuitenkin kirjoitettu lauseiden lisäämiseksi yksitellen, tiedoston koko kasvaa. Siksi tietueiden määrän kasvaessa se on hyödytön, joten se on menetelmä, jota voidaan käyttää, kun numero on pieni.

Se luo myös SQL:n taulukolle, josta se on siirretty, joten se ei ole käytettävissä, jos se eroaa taulukon kokoonpanosta, johon se siirretään. Voit myös sisällyttää taulukon luomisen SQL:ään, mutta taulukko on poistettava kerran kohteesta.

menettely

Käynnistä SQL Server Management Studio lähteestä. Valitse kansio, joka vastaa SQL Server -versiotasi.

Kirjaudu kohdepalvelimeen. SQL Server Management Studiota käyttävät tietokoneet ovat kunnossa muissa tietokoneissa, mutta näiden vihjeiden avulla voit kaikki toimia omilla palvelimillasi.

Napsauta kohdetietokantaa hiiren kakkospainikkeella ja valitse "Tehtävä" ja "Luo komentosarja".

Valitse Seuraava.

Voit valita, mihin taulukoihin tietoja siirretään. Valitse kaikki tai valitse tietty taulukko tästä.

Koska tuloste on SQL, voit valita "Tiedosto", "Leikepöytä" tai "Näytä ikkunassa". Kun olet valinnut, napsauta oikeassa yläkulmassa olevaa "Lisäasetukset" -painiketta.

Valitse Tiedot vain Yleiset-ryhmän komentosarjojen luontitietotyypeistä.

Valitse sen jälkeen "Seuraava" vahvistaaksesi. Voit nähdä, että SQL on luotu. Jäljellä on vain suorittaa tämä SQL määränpäässä.

Koska se on vain lisäyslause, jos haluat tietojen olevan samat, sinun on poistettava kaikki kohteen tietueet etukäteen.

Siirrä myös taulukon konfiguraatiot

Jos haluat siirtää myös taulukon määrityksiä, määritä edellinen Komentosarjojen luontitietojen tyyppi -asetukseksi Rakenne ja tiedot.

Taulukon luontikomentosarja luodaan myös seuraavasti: Jos haluat käyttää tätä, se suoritetaan siirrettävän taulukon poistamisen jälkeen.

Se luo myös tietokannan luontikomentosarjan, jos se on myös mukana.

Tietojen siirtäminen tuomalla ja viemällä tietoja

Kun asennat SQL Serverin, asennat myös työkalun nimeltä Tuo ja vie tietoja. Sen avulla voit siirtää tietoja taulukosta toiseen palvelimeen.

Tämän työkalun siirron etuna on, että tietoja voidaan siirtää myös SQL Serverin vanhempiin versioihin. Sitä on hieman vaikea käyttää, mutta se voidaan siirtää useiden minuuttien tasolla jopa noin miljoonalla tiedolla, joten se soveltuu myös suureen tietojen siirtoon. Huomaa kuitenkin, että lähde- ja kohdepalvelimet on yhdistettävä yksityiseen verkkoon, eikä niitä voi käyttää täysin eri verkkoja käyttävien palvelimien välillä.

edellytys

Luo SQL Server - todennus tai Windows-todennus, jotta voit käyttää kutakin SQL Serveriä tietokonetta käyttävästä tietokoneesta.

Nämä vihjeet käyttävät tätä työkalua palvelimesta, josta se on siirretty.

menettely

Valitse Käynnistä-valikosta Tuo ja vie tiedot. Se sisältyy SQL Serverin kansioon, mutta kansion nimi vaihtelee SQL Server -version mukaan, joten etsi se ajoissa.

Valitse Seuraava.

Valitse tietokanta, josta haluat siirtää. Tällä kertaa se on käynnissä lähdepalvelimella, joten voit käydä läpi Windows-todennuksen.

Parametrin nimen asetusarvohuomautukset
Tietolähteet SQL Serverin alkuperäinen asiakas 11.0
Palvelimen nimi (paikallinen) Jos se on eri palvelin tai esiintymän nimi on määritetty, aseta sen arvo
todennus Windows-todennus
tietokanta SampleDatabase Kirjoita sen tietokannan nimi, josta haluat todella siirtää

Määritä seuraavaksi kohdetietokannan yhteysasetukset. Sql Server -todennusta käytetään, koska se on toisessa palvelimessa.

Parametrin nimen asetusarvohuomautukset
Tietolähteet SQL Serverin alkuperäinen asiakas 11.0
Palvelimen nimi Kohdepalvelimen nimi (+ \esiintymän nimi)]
todennus SQL Server -todennus
tietokanta SampleDatabase Kirjoita sen tietokannan nimi, johon haluat todella siirtyä

Valitse "Kopioi tiedot yhdestä tai useammasta taulukosta tai näkymästä" ja napsauta seuraavaa painiketta.

Valitse siirrettävä taulukko. Tässä luettelossa näkyy myös näkymä, joten älä tarkista sitä.

Jos lähde- ja kohdetaulukoiden nimet ovat samat, siirrettävä taulukko valitaan automaattisesti. Se määrittää myös sarakkeiden nimien yhdistämisen automaattisesti, jos sarakkeiden nimet ovat samat.

Tässä on joitain asioita, jotka on pidettävä mielessä:

  • Jos perusavain on määritetty, siirto epäonnistuu, jos "Salli tunnuksen lisääminen" ei valitse "Muokkaa yhdistämismääritystä" -kohdasta
  • Jos siirrettäviä taulukoita ei ole, luodaan taulukko
  • Jos kohdetaulukolla ei ole samaa sarakenimeä, sitä ei siirretä. Älä jatka kohdesarakkeen siirtämistä tai muuttamista.
  • Tietueet lisätään oletusarvoisesti. Jos haluat korvata sen, poista tietue kohteesta etukäteen tai valitse "Poista rivit kohdetaulukosta" kohdasta "Muokkaa yhdistämismääritystä"

Itse asiassa sinun on otettava huomioon edellä mainitut, mutta näissä vinkeissä määränpäässä ei ole tietoja eikä automaattista numerointia ole, joten voit jatkaa asettamatta mitään.

Varmista, että "Suorita nyt" on valittuna ja napsauta "Seuraava".

Valitse Valmis.

Tietojen siirto alkaa. Sulje, kun kaikki siirrot ovat valmiita.

Jos tarkastelet kohdetietokantaa, voit varmistaa, että taulukko, jota ei ollut olemassa, on luotu. Voit myös nähdä, että aiemmin luoduille taulukoille ei ole enää sarakkeita.

Voit varmistaa, että tietoja siirretään. Taulukon 2 huomautussarakkeita ei ole yhdistetty, eikä niitä ole siirretty.