sql >> Database >  >> RDS >> Sqlserver

Configuratie voor transactiereplicatie van SQL Server

Transactionele replicatie in SQL Server is een van de meest gebruikte replicatietechnieken om gegevens over meerdere bestemmingen te kopiëren of te distribueren. In eerdere artikelen hebben we SQL Server-replicatie besproken en hoe replicatie intern werkt. Ons doel is nu om te zien hoe u transactionele replicatie in SQL Server kunt configureren met behulp van de back-upbenadering en hoe u artikelen op de juiste manier aan replicatie kunt toevoegen of verwijderen. Zonder de juiste maatregelen lopen we het risico de momentopname ongeldig te maken en worden we geconfronteerd met de noodzaak om Replicatie opnieuw te configureren.

Transactionele replicatiebeheer

In mijn vorige artikelen hebben we de stapsgewijze instructies over de onderstaande items doorlopen:

  • Distributie configureren
  • Publicatie configureren met de optie Momentopname
  • Abonnement configureren met optie Momentopname

Bij het configureren van Replicatie hebben we eerst de Distributeur geconfigureerd. Daarna gingen we verder met het maken van een publicatie en abonnement. Om Replicatie te laten vallen of op te ruimen, moeten we het omgekeerde proces uitvoeren. Eerst moeten we het abonnement verwijderen, dan de publicatie en ten slotte de distributeur of de distributiedatabase.

In dit artikel proberen we de transactiereplicatie in SQL Server die we eerder hebben geconfigureerd, te verwijderen. We gebruiken de back-upbenadering en voegen op de volgende manier artikelen toe aan of verwijderen uit Replicatie:

  • Abonnement opzeggen
  • Publicatie neerzetten
  • Drop Distributeur of distributiedatabase
  • Replicatie volledig opschonen als een van de bovenstaande stappen niet correct werkt
  • Replicatie configureren met databaseback-up
  • Laat artikelen uit Replicatie vallen met zowel de Wizard- als de T-SQL-aanpak
  • Voeg nieuwe artikelen toe aan Replicatie met behulp van zowel de Wizard- als de T-SQL-aanpak
  • Voeg een Stored Procedure-artikel toe en bestudeer het verschil tussen het Table-artikel en het Stored Procedure-artikel

Abonnement opzeggen

Om een ​​geconfigureerde replicatie te laten vallen, moeten we eerst het abonnement stopzetten.

Maak in SSMS verbinding met de Publisher-instantie> Replicatie > Lokale publicaties . Klik met de rechtermuisknop op het abonnement> Verwijderen of Laat vallen Abonnement:

SQL Server zal u vragen om uw actie te bevestigen:

Klik op Ja om het abonnement te laten vallen. Hierdoor wordt het abonnement volledig verbroken.

In mijn huidige configuratie bevinden zowel de uitgever als de abonnee zich op hetzelfde exemplaar. Daarom zijn er geen verzoeken verzonden om verbinding te maken met de abonnee-instantie voor validatie. In het geval dat we het op een ander exemplaar van SQL Server zouden hebben, zou het vragen om verbinding te maken met het Abonnee-exemplaar om te valideren voordat de Abonnee wordt verwijderd.

Dropping Publication maakt intern gebruik van de sp_droppublication procedure en we kunnen deze procedure gebruiken om de publicatie handmatig te verwijderen via de T-SQL-aanpak

Publicatie neerzetten

Zodra het abonnement is verwijderd, kunnen we doorgaan en de Publicatie drop laten vallen . Klik met de rechtermuisknop op AdventureWorks_Pub en selecteer Verwijderen uit het menu:

U ziet een bericht waarin u wordt gevraagd om die actie te bevestigen. Houd er rekening mee dat u de publicatie gaat verwijderen. Alle records die naar de abonneedatabase zijn gerepliceerd, worden echter niet verwijderd. We moeten de database handmatig verwijderen om die gerepliceerde records op te schonen. Klik op Ja .

Als u een publicatie intern laat vallen, wordt de sp_droppublication . toegepast procedure.

Laat de distributeur of de distributiedatabase vallen

Eerder vermeldden we dat de distributiedatabase een systeemdatabase is. Daarom kunnen we het niet laten vallen door met de rechtermuisknop op de database te klikken en de verwijderoptie te selecteren, zoals bij gebruikersdatabases. Als we met de rechtermuisknop op de distributiedatabase klikken, krijgen we alleen de onderstaande opties:

Wanneer we de distributiedatabase moeten verwijderen, moeten we eerst met de rechtermuisknop klikken op de Replicatie knoop> Uitschakelen Publiceren en verspreiden .

Het zal de Wizard openen.

Standaard is de tweede optie (Nee, blijf deze server gebruiken als uitgever ) is geselecteerd om te voorkomen dat alle publicaties per ongeluk op de server worden verwijderd.

In ons geval hebben we maar één publicatie, en die willen we graag opruimen. Daarom selecteren we de eerste optie – Ja, zet publiceren op deze server uit . Het zal alle publicaties samen met abonnementen laten vallen als dat nog niet is gebeurd, samen met het uitschakelen van de distributeur.

We kunnen deze wizard zelf gebruiken om alles op te schonen als onze server slechts één replicatie heeft geconfigureerd. Als er echter meerdere replicaties zijn geconfigureerd, laten we Transactionele replicatie in SQL Server vallen door de hierboven gedeelde standaardstappen te volgen.

Nu moeten we de eerste optie selecteren Ja, publicatie op deze server uitschakelen en klik op Volgende .

Vink in het nieuwe venster beide opties aan:Publicatie en distributie uitschakelen en Genereer een scriptbestand met stappen...

Om het scriptbestand te genereren, moet je het pad opgeven waar het moet worden opgeslagen.

Klik op Volgende en bekijk de opties die in de wizard zijn geselecteerd. Controleer en zorg ervoor dat je alles correct hebt geselecteerd.

Klik op Voltooien .

Het intern verwijderen van de distributiedatabase maakt gebruik van de sp_dropdistributor procedure.

Zodra de Distributeur is uitgeschakeld, kunnen we zien dat de distributiedatabase is verwijderd uit de systeemdatabases.

Replicatie volledig opschonen als een van de bovenstaande stappen niet goed werkt

Als het abonnement of de publicatie via een andere benadering wordt stopgezet, belanden we in een inconsistente verwijdering van transactiereplicatie in SQL Server en krijgen we veel fouten. Om alle resten van Abonnement of Publicatie op te ruimen, kunnen we de systeemprocedure sp_removedbreplication gebruiken .

exec_spremovedbreplication

Voer deze procedure alleen uit als er nog steeds replicatieproblemen zijn na het uitproberen van alle andere genoemde benaderingen. Opgeslagen procedure sp_removedbreplication moet worden uitgevoerd op de Publisher-database of vanuit de hoofddatabase en met behulp van de onderstaande opdracht na het vervangen van de @dbname door de naam van de Publisher-database.

exec_spremovedbreplication @dbname

Replicatie configureren met de back-upbenadering

Nadat we de replicatie volledig hebben verwijderd, gaan we de transactionele replicatie opnieuw configureren in SQL Server met behulp van de back-upbenadering. Het gaat om de onderstaande stappen:

  • Configureer de distributeur
  • Maak de publicatie
  • Wijzig de publicatie-eigenschappen om het maken van een abonnement van de volledige of differentiële back-up mogelijk te maken.
  • Maak een volledige back-up van Publisher en herstel deze als abonnee.
  • Abonnement configureren en initialiseren vanuit Back-up.

We hebben de meeste stappen al eerder uitgevoerd bij het configureren van de replicatie. Daarom zullen we hier niet in detail treden over die stappen.

Distributeur en publicatie configureren

Raadpleeg de stapsgewijze instructies uit het vorige artikel over het configureren van zowel Distributie als Publicatie met behulp van de wizard Publicatie maken. Om de T-SQL-scripts te leren die door de wizard worden gebruikt om distributie en publicatie te maken, genereert u de scripts naar een bestand tijdens de laatste stap van de wizard en voert u de scripts niet uit door de optie "De publicatie maken" uit te schakelen, zoals hieronder wordt weergegeven .

Open nu het scriptbestand dat is opgeslagen in een nieuw queryvenster om de distributeur en publicatie te maken met behulp van die scripts:

Let op de tweede regel met commentaar - hierin staat dat alle wachtwoordwaarden die we in de wizard hebben ingevoerd om veiligheidsredenen zijn geconverteerd naar NULL of een lege tekenreeks. Kijk eens naar de gemarkeerde regel met @password =lege waarden. Vervang dat door de juiste wachtwoordwaarden, doe hetzelfde voor andere secties met wachtwoorden en voer het script uit.

Het script is succesvol uitgevoerd. We kunnen zien dat de uitvoering van scripts de distributiedatabase en alle systeemtabellen erin heeft gecreëerd. Aan het einde van het bericht kunnen we zien dat de Log Reader Agent-taak ook is gemaakt en gestart.

Indien nodig kunt u de resultaten opslaan om meer te weten te komen over alle tabellen, weergaven en kritieke procedures in de distributiedatabase. Deze informatie is nuttig voor verdere probleemoplossing.

Na de succesvolle uitvoering van de scripts, kunnen we zien dat de distributiedatabase en de publicatie met succes zijn gemaakt.

Wijzig publicatie-eigenschappen om het maken van een abonnement op basis van volledige of differentiële back-up mogelijk te maken

Als de database erg klein is, zal de tijd die nodig is om de initiële momentopname te verzenden sneller zijn.

Aan de andere kant is het maken van Transactionele Replicatie in SQL Server met Snapshot niet efficiënt in de volgende gevallen:

  1. Als de database enorm is (300 GB of meer). De tijd die nodig is om de initiële momentopname te verzenden, zal te lang zijn.
  2. Als de Abonnee zich op verschillende locaties met een lage netwerkbandbreedte bevindt. Het initiële momentopnameproces duurt dan meerdere dagen.

Dus het maken van een volledige back-up, het overbrengen ervan via FTP of fysiek naar de andere locatie, het herstellen van die back-up en het initialiseren van de abonnee zal aanzienlijk sneller zijn in vergelijking met de Snapshot-aanpak.

Om ervoor te zorgen dat de publicatie initialisatie vanuit back-ups ondersteunt, moeten we een van de publicatie-eigenschappen wijzigen. Het kan via SSMS of T-SQL worden gedaan.

SSMS-aanpak

Klik met de rechtermuisknop op de AdventureWorks_pub publicatie en kies Eigenschappen :

Klik op Abonnementsopties :

Stel True in voor Initialisatie van back-upbestanden toestaan en klik op OK . Hierdoor kunnen we initialiseren vanuit zowel volledige als differentiële back-up.

T-SQL-aanpak

In T-SQL kunnen we de procedure sp_changepublication . aanroepen om deze eigenschap te wijzigen.

Het script om deze eigenschap te wijzigen staat hieronder:

USE AdventureWorks
GO
exec sp_changepublication @publication = 'AdventureWorks_pub', @property = 'allow_initialize_from_backup', @value = 'true'

Maak een volledige back-up van de uitgever en herstel deze als abonnee

Een belangrijke factor om op te merken dat we een volledige back-up moeten maken na het implementeren van de bovenstaande publicatie-eigenschap. Als de database enorm groot is, kunnen we een volledige back-up nemen en deze herstellen in de RECOVERY-modus in de abonnee-instantie, en een differentiële back-up nemen nadat we de bovenstaande configuratiewijziging hebben aangebracht en deze herstellen in de abonnee-database met de NORECOVERY-modus.

Abonnement configureren en initialiseren vanaf back-up

Raadpleeg nogmaals de stapsgewijze instructies. We moeten de nodige scripts genereren, maar ze niet uitvoeren. Het punt is dat we het abonnement initialiseren vanuit volledige of differentiële back-up alleen T-SQL-scripts gebruiken. Ik heb die scripts de vorige keer gemaakt tijdens het maken van het abonnement. Zie het geopende bestand hieronder.

Opmerking :De scripts voor het aanmaken van Abonnementen moeten worden uitgevoerd vanuit de Publisher-database. Open daarom het Query-venster dat verbinding maakt met de Publisher-instantie.

We moeten een paar wijzigingen aanbrengen om het abonnement te initialiseren vanaf een back-up:

  • Wijzig de @sync_type waarde van automatisch om initialiseren met back-up
  • Geef de juiste wachtwoorden op voor de wachtwoorden die zijn vervangen door NULL of lege tekenreeksen. Aangezien ik het Agent Service-account op de server heb gebruikt, hoef ik geen wachtwoorden te wijzigen.
  • Voeg de parameters toe @backupdevicetype en @backupdevicename en geef het pad op naar volledige of differentiële back-up op de uitgeversserver (het script wordt erop uitgevoerd).

Als je klaar bent, ziet ons script er als volgt uit:

Voer het script uit om de abonnementsconfiguratie te voltooien en we zullen de succesvolle voltooiing van het script ontvangen, zoals hieronder weergegeven.

Zoals de status aangeeft, is de taak Distributieagent SQL Server Agent gemaakt en gestart tijdens het maken van het abonnement.

Daarom hebben we onze replicatie met succes gemaakt met behulp van de back-upbenadering. Nu kunnen we het beschikbare abonnement verifiëren.

Start de Replicatiemonitor en klik met de rechtermuisknop op de abonnee. Het toont de replicatiestatus:

Zoals we kunnen zien, zijn alle gegevens met succes geïnitialiseerd vanuit de back-up zonder dat het nodig is om de Snapshot Agent-taak uit te voeren. Aangezien er geen actieve transacties plaatsvinden in de database, krijgen we op dit moment het bericht "Er zijn geen gerepliceerde transacties beschikbaar" in Replicatiemonitor.

Artikelen verwijderen uit replicatie

Nadat we hebben geleerd hoe we transactionele replicatie in SQL Server kunnen configureren via de replicatiewizard of T-SQL-scripts, kunnen we nu controleren hoe we via beide methoden een artikel uit de replicatie kunnen verwijderen.

De wizard gebruiken

Klik met de rechtermuisknop op de AdventureWorks_pub Publicatie> Eigenschappen . Klik op Artikel om de lijst met artikelen in Replicatie te bekijken.

Standaard worden de database-objecten weergegeven in de indeling OBJECT_NAME (SCHEMA_NAME). Laten we voor testdoeleinden de tabel Person.ContactType laten vallen van de Replicatie.

Schakel daarvoor het vinkje uit vóór ContactType (Persoon). SQL Server toont het waarschuwings- of bevestigingsbericht:

Zoals het uitlegt, als er momenteel momentopnamen beschikbaar zijn, worden die momentopnamen ongeldig vanwege de wijzigingen in artikelen.

Aangezien we de back-upaanpak hebben geïnitialiseerd en geen momentopnamen hebben gebruikt, kunnen we dit bericht veilig negeren en op Ja klikken. om dit tabelartikel uit de Replicatie te verwijderen. Klik op OK om het verwijderen van het artikel uit de Replicatie te voltooien.

Nu het Person.ContactType tabel wordt verwijderd uit de Replicatie. Wijzigingen die plaatsvinden op de uitgever worden niet naar de abonneedatabase verzonden. We kunnen dit testen door INSERT/UPDATE/DELETE records op het Person.ContactType tafel.

T-SQL gebruiken

Een andere manier is om een ​​artikel uit de replicatie te verwijderen met behulp van de sp_droparticle procedure.

USE [AdventureWorks]
GO
EXEC sp_droparticle 
  @publication = N'AdventureWorks_pub', 
  @article = N'ContactType',
  @force_invalidate_snapshot = 1;
GO

Nieuwe artikelen aan replicatie toevoegen via wizard of TSQL-aanpak

In sommige gevallen (zoals tafelonderhoud) moeten we mogelijk enkele artikelen verwijderen en ze weer toevoegen aan de replicatie nadat het onderhoud is voltooid.

We hebben met succes geleerd hoe u artikelen uit Replicatie kunt verwijderen. Laten we eens kijken hoe we nieuwe artikelen aan Replication kunnen toevoegen. We zullen het Person.ContactType . toevoegen tafel die we eerder terug naar Replicatie hebben verwijderd.

Wizard gebruiken

Om een ​​tabelartikel weer aan de replicatie toe te voegen, klikt u met de rechtermuisknop op Publicatie > Eigenschappen > Artikelen . Het toont de lijst met artikelen die beschikbaar zijn in de publicatie.

We konden het Person.ContactType niet vinden tabel – het scherm toont alleen de tabellen die deel uitmaakten van Replicatie. Om alle tabellen te zien die beschikbaar zijn in de Publisher-database, deselecteer Alleen geselecteerde artikelen in de lijst weergeven om alle tabellen te bekijken.

Nu kunnen we het Person.ContactType . zien tabel vermeld.

Zoals we eerder hebben besproken, hebben alle tafels zonder primaire sleutels een rode cirkel pictogram dat aangeeft dat deze tabellen niet kunnen worden opgenomen in de replicatie via wizard of T-SQL-benadering.

Controleer het ContactType (Persoon) tabel om het weer toe te voegen aan de replicatie en klik op OK .

De tabel wordt weer toegevoegd aan de Replicatie. We moeten echter een methode uitwerken om de eerste momentopname voor dit nieuw toegevoegde tabelartikel te verzenden.

Als je het artikel tot nu toe hebt doorgenomen, zou je het goed hebben geraden - voer gewoon de Snapshot Agent Job uit om de eerste snapshot voor deze tabel te verzenden.

Laten we dat nu doen - klik met de rechtermuisknop op Publicatie > bekijk de Momentopname-agent status.

Klik op Start om de momentopname voor in aanmerking komende artikelen te verzenden. Stuur die gegevens naar de Distributiedatabase en ten slotte naar de Abonneedatabase.

T-SQL-aanpak

We kunnen vergelijkbare acties uitvoeren met de sp_addarticle procedure.

Het onderstaande script voegt artikelen toe aan de replicatie.

use [AdventureWorks]
GO
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'ContactType', @source_owner = N'Person', @source_object = N'ContactType'
, @type = N'logbased', @description = null, @creation_script = null, @pre_creation_cmd = N'drop', @schema_option = 0x000000000803509F
, @identityrangemanagementoption = N'manual', @destination_table = N'ContactType', @destination_owner = N'Person', @vertical_partition = N'false'
, @ins_cmd = N'CALL sp_MSins_PersonContactType'
, @del_cmd = N'CALL sp_MSdel_PersonContactType'
, @upd_cmd = N'SCALL sp_MSupd_PersonContactType'
GO

We hebben eerder opgemerkt hoe replicatie werkt voor een tabelartikel door 3 procedures toe te passen die in de abonneedatabase zijn gemaakt om de bewerkingen INSERT/UPDATE en DELETE af te handelen.

Met behulp van de T-SQL-aanpak weten we hoe naar deze procedures wordt verwezen. Indien nodig kunnen we de naam van objecten, bestemmingstabelnamen of standaardprocedures wijzigen. Daarvoor brengen we wijzigingen aan in de sp_addarticle procedure.

OPMERKING :Als we wijzigingen aan de replicatie aanbrengen, moeten we ze allemaal goed documenteren. Anders kan het later tot een ramp leiden.

Voeg een opgeslagen procedure-artikel toe en bestudeer het verschil tussen een tabelartikel en een opgeslagen procedure-artikel

Om een ​​opgeslagen procedure aan de replicatie toe te voegen, gaan we naar de Artikelen pagina en controleer de vereiste Opgeslagen procedure om deze gerepliceerd te krijgen. We kunnen hetzelfde doen voor Views , Geïndexeerde weergaven , of Door gebruiker gedefinieerde functies ook.

Voor meer informatie over het verschil tussen tabelartikelen versus weergaven / opgeslagen procedure / geïndexeerde weergaven / door de gebruiker gedefinieerde functies, kunnen we voor elke categorie een artikel toevoegen met behulp van T-SQL:

Een nieuw opgeslagen procedure-artikel toevoegen aan replicatie

use [AdventureWorks]
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'uspGetBillOfMaterials', @source_owner = N'dbo'
, @source_object = N'uspGetBillOfMaterials', @type = N'proc schema only', @description = null, @creation_script = null
, @pre_creation_cmd = N'drop', @schema_option = 0x0000000008000001, @force_invalidate_snapshot = 1
, @destination_table = N'uspGetBillOfMaterials', @destination_owner = N'dbo'

Een nieuw weergaveartikel toevoegen aan replicatie

use [AdventureWorks]
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'vVendorWithContacts', @source_owner = N'Purchasing'
, @source_object = N'vVendorWithContacts', @type = N'view schema only', @description = null, @creation_script = null, @pre_creation_cmd = N'drop'
, @schema_option = 0x0000000008000001, @destination_table = N'vVendorWithContacts', @destination_owner = N'Purchasing'
GO

Een nieuw geïndexeerd weergaveartikel toevoegen aan replicatie

use [AdventureWorks]
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'vStateProvinceCountryRegion', @source_owner = N'Person'
, @source_object = N'vStateProvinceCountryRegion', @type = N'indexed view schema only', @description = null, @creation_script = null
, @pre_creation_cmd = N'drop', @schema_option = 0x0000000008000001, @force_invalidate_snapshot = 1
, @destination_table = N'vStateProvinceCountryRegion', @destination_owner = N'Person'

Een nieuw door de gebruiker gedefinieerde functie-artikel toevoegen aan replicatie

use [AdventureWorks]
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'ufnGetStock', @source_owner = N'dbo', @source_object = N'ufnGetStock'
, @type = N'func schema only', @description = null, @creation_script = null, @pre_creation_cmd = N'drop', @schema_option = 0x0000000008000001
, @force_invalidate_snapshot = 1, @destination_table = N'ufnGetStock', @destination_owner = N'dbo'

We gebruiken de sp_addarticle procedure om elk type artikel aan de replicatie toe te voegen met de nodige invoerparameters en opties die het meegeleverde @type wijzigen parameter.

We kunnen deze artikelen ook aan de publicatie toevoegen door met de rechtermuisknop te klikken op Publicatie > Eigenschappen > Artikelen en ze aan de publicatie toe te voegen.

Tabel Artikeleigenschappen

Laten we nu de artikeleigenschappen wijzigen via de Artikelen menu in de Publicatie eigenschappen:

Klik op onze favoriete Person.ContactType tabel> Artikeleigenschappen . Er zal een optie zijn om de Artikeleigenschappen . te wijzigen alleen voor deze tabel of alle tabellen die in de replicatie zijn opgenomen. Voor een test selecteren we Eigenschappen van gemarkeerde tabelartikel instellen om de eigenschappen van het Person.ContactType te bekijken tafel.

Bekijk alle beschikbare opties voor deze tabel Artikel:

Objecten en instellingen kopiëren naar abonnee en Bezorging van verklaring zijn de belangrijkste instellingen voor de replicatie. We moeten heel voorzichtig zijn om een ​​van deze parameters te wijzigen.

Klik op het leveringsformaat INSERT\UPDATE\DELETE om de onderstaande opties te krijgen.

  • Niet repliceren INSERT\UPDATE\DELETE-instructies - om replicatie aan te passen om geen specifieke opdrachten naar de abonneedatabase te verzenden
  • INSERT\UPDATE\DELETE-instructie – om de INSERT\UPDATE\DELETE-instructie rechtstreeks naar de abonnee te verzenden in plaats van de gegevens te reconstrueren uit transactielogboeken
  • CALL – Voer de ingebouwde opgeslagen procedure uit die hierboven is weergegeven in sp_addarticle om gegevens te repliceren.
  • XCALL – Voer uitgebreide opgeslagen procedure uit om de wijzigingen te repliceren.

Eigenschappen van opgeslagen procedure-artikel

Klik op Artikeleigenschappen op een van de Opgeslagen Procedures om de Eigenschappen . te bekijken

Een van de belangrijkste eigenschappen van de opgeslagen procedure is de optie Repliceren – zie de beschikbare opties hieronder:

  • Alleen opgeslagen procedure-definitie – repliceert alleen de wijzigingen in de DDL-structuur van de opgeslagen procedure. Dit is de standaardoptie voor elke opgeslagen procedure.
  • Uitvoering van de opgeslagen procedure – gebruik deze optie om de replicatiebelasting te verminderen. Het voert alle wijzigingen uit via Uitvoering van opgeslagen procedure op abonnee zonder individuele opdrachten te verzenden. We kunnen deze functie bekijken om prestatieproblemen op te lossen terwijl we enorme gegevenswijzigingen repliceren in mijn volgende artikel.
  • Uitvoering in een geserialiseerde transactie van de SP – een hybride optie om Uitvoering van opgeslagen procedure te kiezen alleen als de procedure wordt uitgevoerd binnen een geserialiseerde transactie. Anders zou het worden gerepliceerd als individuele DML-opdrachten.

Bekijk artikeleigenschappen

Klik op Artikeleigenschappen voor elke weergave om de Eigenschappen . te krijgen :

Geïndexeerde Artikeleigenschappen weergeven

Klik op Artikeleigenschappen voor een van de geïndexeerde weergaven voor de Eigenschappen :

Door gebruiker gedefinieerde functie Artikeleigenschappen

Klik op Artikeleigenschappen op elke door de gebruiker gedefinieerde functie voor zijn Eigenschappen

Eigenschappen van weergaven, geïndexeerde weergaven en door de gebruiker gedefinieerde functies zijn vrijwel hetzelfde. Daarom kunnen we ze niet veel aanpassen.

Conclusie

Bedankt voor het doornemen van een ander krachtig artikel met betrekking tot Replicatie. Vandaag hebben we de details verduidelijkt over het verwijderen van abonnementen, publicaties, distributiedatabases en het volledig opschonen van de replicatie, zelfs als we problemen ondervinden.

We hebben een replicatie geconfigureerd die nieuw is geïnitialiseerd vanaf de back-up en hebben getest hoe nieuwe artikelen aan de replicatie kunnen worden toegevoegd of eruit kunnen worden verwijderd. Bij het verder werken met databases en vooral bij het vinden van de discrepanties daartussen, zult u veel profijt hebben van de professionele tools. De dbForge Compare Bundle voor SQL Server identificeert en analyseert al deze verschillen en rapporteert ze.

In ons volgende artikel zullen we veelvoorkomende replicatieproblemen onderzoeken en hoe we deze professioneel kunnen oplossen.


  1. MSSQL-fout 'De onderliggende provider is mislukt bij Open'

  2. Hoe ELT() werkt in MariaDB

  3. PostgreSQL's date_trunc in mySQL

  4. Uren aftrekken van een datetime-waarde in MariaDB