Ota käyttöön tapahtumien replikoinnin uusiutuvat tilaukset SQL Server 2019:ssä
Käyttöönotto ja varotoimet
Tämä artikkeli on tarkoitettu replikoitavaksi SQL Server 2019:ssä. Yksi sen toiminnoista on "uusiutuva tilaus" on käytössä.
Tämä ominaisuus otettiin oletusarvoisesti käyttöön SQL Serverin aiemmissa versioissa, mutta se on poistettu käytöstä vuodesta 2017 lähtien.
SQL Serverin tulevat versiot saattavat poistaa tämän ominaisuuden. Olemassa olevan ympäristön päivittämistä lukuun ottamatta suosittelemme, että korvaat sen uudella rakenteella yhdistämisen replikoinnilla jne.
- viittaus
ympäristö
Käytä kahta palvelinta, yhtä palvelinta ja kahta SQL Serveriä. Windows Server on tilassa, jossa lisäasetuksia ei ole tehty heti asennuksen jälkeen.
- 1. yksikkö (julkaisun puoli)
-
- Windows Server 2019 Standard Edition
- SQL Server 2019 Developer Edition (standard edition tai uudempi)
- SQL Server Management Studio 18.9.1
- Toinen yksikkö (tilaajan puoli)
-
- Windows Server 2019 Standard Edition
- SQL Server 2019 Express Edition
- SQL Server Management Studio 18.9.1
tarkoitus
Vaikka ensimmäisen tai toisen palvelintietokannan taulukkotietueet päivitettäisiin Varmista, että toistesi palvelimien taulukkotietueet synkronoidaan.
Muuten, yksi julkaisupuolella on kunnossa, mutta tilaajapuolella voi olla kuinka monta yksikköä tahansa. Se toimii myös useiden SQL Server -esiintymien kanssa yhdellä palvelimella.
SQL Serverin asentaminen
SQL Serverin asentaminen ei ole näiden vihjeiden pääosa, joten en mene yksityiskohtiin. Luettelossa luetellaan vain replikoinnin kannalta merkitykselliset.
Julkaisupuolen asentaminen edellyttää Standard Editionia tai uudempaa. Nämä vihjeet asentavat Developer Editionin testiympäristönä.
Tilaajat ovat kunnossa Express Editionin kanssa. Tietenkin muut versiot ovat hienoja DB-kokoonpanosta riippuen.
Valitse Ominaisuuksien valinta -kohdassa Tietokantamoduulipalvelu ja SQL Serverin replikointi. Tämä on sama sekä julkaisupuolella että tilaajapuolella.
Esiintymän kokoonpanon oletusarvo on sekä julkaisu- että tilaajapuoli. Vaikka muuttaisit esiintymän nimeä, ero on siinä, määritätkö esiintymän nimen palvelinmäärityksessä myöhemmin.
Määritä julkaisupuolella SQL Server Agent käynnistymään automaattisesti. Voit muuttaa tätä asetusta myöhemmin.
Tämä vihje todentaa replikoinnin SQL Server sa -tilillä. Ota siksi SQL Server -todennus käyttöön. Jos et halua käyttää sa-tiliä tietoturvasyistä, korvaa selityksen SQL Server -todennusosa myöhemmin Windows-todennuksella tai muulla tilillä.
Tee tästä asetuksesta sama molemmissa palvelimissa.
SQL Server Management Studion asentaminen
Asenna lataamasi SQL Server Management Studio. Koska asennusnäyttö on tarkoitettu vain asennettavaksi, selitys jätetään pois.
Käynnistä Windows uudelleen, jos sinua kehotetaan käynnistämään tietokone uudelleen asennuksen jälkeen. Asenna myös korjaustiedostot Windows Updateen.
Julkaisupuolen tietokannan ja taulukoiden luominen
Jos luot taulukon julkaisun puolelle, tilaajapuoli replikoi taulukon tai tietueen automaattisesti.
Luontimenetelmä on sama kuin normaali menettely, joten jätän yksityiskohdat pois.
Olet luomassa tietokantaa nimeltä Publication DB SQL Server Management Studiossa.
Luo taulukko nimeltä "Käyttäjät" ja rekisteröi sarakkeet seuraavasti: Sinun tarvitsee vain tarkistaa tietueiden synkronointi, jotta taulukon nimi, numero ja sarakkeen sisältö voivat olla mitä tahansa. Vain perusavain vaaditaan kuitenkin.
Lisää muutama tietue varmistaaksesi, että tietueet synkronoidaan replikoinnin luomisen jälkeen.
Etäyhteyksien määrittäminen
Määritä ne sallimaan etäkäyttö toistensa palvelimien tietokantoihin. Yksityiskohdista on yhteenveto seuraavissa vinkeissä.
Kansion käyttöoikeuksien määrittäminen
Avaa julkaisun puolella olevassa palvelimessa seuraavan kansion ominaisuudet: Kansion polku riippuu SQL Serverin versiosta ja esiintymän nimestä.
- C:\Program Files\Microsoft SQL Server\MSSQL15. MSSQLSERVER\MSSQL\ReplData
Lisää Suojaus-välilehdessä "SERVICE" -tili ja aseta se täyteen hallintaan.
Jakelun määrittäminen
Tällä kertaa jakelu luodaan samaan palvelimeen julkaisun kanssa.
Käynnistä SQL Server Management Studio, napsauta replikointia hiiren kakkospainikkeella ja valitse Määritä jakelu.
Valitse Seuraava.
Valitse "Tee oma palvelimesi oman > oma jakelijasi" <.
Napsauta sen jälkeen "Seuraava", kun se on, kun se on täydentääksesi sen.
Julkaisun luominen
Alun perin se on luotu ohjatusta toiminnosta seuraavan kuvan mukaisesti, SQL Server 2019:ssä luominen ohjatusta toiminnosta ei ota käyttöön "uusittavia tilauksia" eikä salli tietueiden synkronointia taulukoiden välillä.
Siksi käytämme T-SQL: ää julkaisun luomiseen täällä.
Sql server -todennuksella varustetun julkaisun luomisessa on SQL: Vaihda salasana asetusten mukaan.
-- トランザクションパブリケーションを追加するための宣言
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'パブリケーションDB';
SET @publication = N'パブリケーション';
SET @login = 'sa';
SET @password = 'saパスワード';
USE [パブリケーションDB]
-- パブリケーションデータベースでトランザクションレプリケーションを有効にする。
EXEC sp_replicationdboption
@dbname=@publicationDB,
@optname=N'publish',
@value = N'true';
-- sp_addlogreader_agent を実行して、エージェントジョブを作成します。
EXEC sp_addlogreader_agent
@publisher_login = @login,
@publisher_password = @password,
@publisher_security_mode = 0;
-- 即時更新、キュー更新、およびプルサブスクリプションをサポートするトランザクションパブリケーションを作成します。
EXEC sp_addpublication
@publication = @publication,
@status = N'active',
@allow_sync_tran = N'true',
@allow_queued_tran = N'true',
@allow_pull = N'true',
@independent_agent = N'true',
-- 関連するデフォルトのプロパティを明示的に宣言する
@conflict_policy = N'pub wins';
-- デフォルトのスケジュールを使用して、パブリケーションの新しいスナップショットジョブを作成します。
EXEC sp_addpublication_snapshot
@publication = @publication,
@publisher_login = @login,
@publisher_password = @password,
@publisher_security_mode = 0;
GO
Kun käytät Windows-todennusta, muuta "sp_addlogreader_agent" ja "sp_addpublication_snapshot" osat seuraavasti.
SQL Server -todennus
@publisher_login = @login,
@publisher_password = @password,
@publisher_security_mode = 0;
Windows-todennus
@job_login = @login,
@job_password = @password,
@publisher_security_mode = 1;
Jos sen luominen onnistuu, näet seuraavat:
Avaa myös luodun julkaisun ominaisuudet ja varmista, että "Uusiutuva tilaus" on käytössä.
Artikkelien määrittäminen
Alun perin, jos luot sen ohjatulla toiminnolla, määrität artikkelin samanaikaisesti, Koska yllä oleva komentosarja ei sisällä artikkelien käsittelyä, se määritetään ominaisuudesta.
Valitse vasemmalla olevasta valikosta "Artikkelit", tarkista synkronoitava taulukko ja napsauta OK-painiketta.
Synkronoitavan taulukon sarakkeisiin lisätään msrepl_tran_version ja samanaikaisesti lisätään taulukon käynnistin.
Tilauksen luominen
Napsauta juuri luomaasi julkaisua hiiren kakkospainikkeella ja valitse Uusi tilaus.
Valitse Seuraava.
Valitse luomasi julkaisu.
Valitse Suorita kaikki asiakaspalvelijat kohdassa Jakelija <palvelimen nimi>.
Napsauta Lisää SQL Server -tilaaja -painiketta.
Määrittää palvelimen (+ esiintymän nimen), joka rekisteröidään tilaajaksi.
Jos sinulla ei ole tilaajatietokantaa, luo uusi tietokanta. Jos se on jo olemassa, valitse se, koska valintanimike on näkyvissä.
Kun olet määrittänyt tietokannan, valitse Seuraava.
Jos sinulla on useampi kuin yksi tilaaja, voit rekisteröidä niin monta kuin tarvitset täällä.
Napsauta "..." -painiketta.
Täällä agentti toimii sa-tilin alla, mutta aseta se ympäristösi mukaan.
Valitse Suorita jatkuvasti.
Uusiutuvan tilauksen asetuksen olisi oltava toiminnassa.
Jos kyseessä on "vahvista muutokset samanaikaisesti", se synkronoidaan välittömästi, mutta kaikkien palvelimien on oltava käynnissä.
Jono muuttuu ja vahvistaa, jos mahdollista" kerää muutoksia jonoon, joten ne vahvistetaan palvelimen ollessa käynnissä, vaikka palvelin ei olisi käynnissä. Synkronoinnin ajoitus on kuitenkin hidas.
Valitse Käytä ennalta määritettyä linkitettyä palvelinta tai etäpalvelinta.
Valitse Nyt.
Valitse Seuraava.
Napsauta Valmis-painiketta.
Sulje, jos virheitä ei ole.
Hetken kuluttua näet, että tietokanta on luotu tilaajapuolella ja että myös taulukot on luotu.
Voit varmistaa, että myös tietueet on synkronoitu.
Jos se ei synkronoidu jonkin ajan kuluttua, toimi seuraavasti.
Napsauta luotua tilausta hiiren kakkospainikkeella ja valitse Alusta alusta uudelleen.
Tarkista "Käytä uutta tilannekuvaa" ja napsauta "Aseta alustamaan uudelleen" -painiketta.
Jos tapahtuu virhe, yritä uudelleen.
Toiminnon tarkistus
Yritä lisätä tai muokata julkaisupuolella olevia taulukoita.
Odota noin muutama sekunti varmistaaksesi, että se on synkronoitu tilaajalle.
Muokataan nyt tilaajapuolen tietuetta.
Voit varmistaa, että se on synkronoitu julkaisun puolelle.
Jos olet rekisteröinyt useita tilaajia, varmista, että ne synkronoidaan tilaajien välillä.