SQL Server 2016 Grundkurs: Architektur, Komponenten und Installation

Snapshotreplikation durchführen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Machen Sie sich in diesem Video damit vertraut, was sich hinter einer Snapshotreplikation verbirgt und wie Sie eine solche Replikation einrichten. Die dazu erforderlichen Schritte werden Ihnen von Daniel Caesar Schritt für Schritt erläutert.
13:50

Transkript

In diesem Film möchte ich Ihnen die Snapshotreplikation des SQL Server 2016 vorstellen. Dazu nehme ich mein SQL Server Management Studio. Ich habe hier eine Datenbank "AdminSQLXPERT", die sich auf SRVSQL 1 befindet und aktuell nicht auf SRVSQL 2. Ich möchte für die Datenbank jetzt eine Snapshotreplikation einrichten. Dazu begebe ich mich zum Knoten "Replikation" in SRVSQL 1 und richte eine lokale Veröffentlichung ein. Das heißt also, das ist der Punkt, der jetzt festlegt, was an der Datenbank welche Tabellen, welche Artikel möchte ich für eine Replikation veröffentlichen, wähle also "Neue Veröffentlichungen", der Assistent kommt, gehe auf WEITER, und erhalte jetzt die Frage, wer Verteiler sein soll. Bei einer Replikation ist es so, dass einer, der die Veröffentlichung macht, ein so genannter Verleger, die Daten publiziert und dann einer für die Verteilung zuständig ist. Im größeren Szenarien, wenn ich dann sehr viele Abonnenten habe, die das beziehen, mache ich einen separaten Verteiler, also einen eigenen SQL Server, der als Verteiler konfiguriert wird. In unserem kleinen Beispielszenario nehme ich den SRVSQL1 sowohl als Verleger, als auch als Verteiler für die Daten, gehe somit auf WEITER. Jetzt werde ich aufgefordert einen Momentaufnahmeordner anzugeben. Hier ist es so, dass das jetzt ein Standardordner des SQL Servers ist für das Thema "Replikation". Ich gehe dazu mal in die Verzeichnisstruktur, zu dem Ordner und sehe also, dass hier unter MSSQL, wo also auch Backup und Data und die Logs liegen, dieser Reply- oder Repldata-Ordner liegt, gehe mal auf die Eigenschaften, er ist im Moment nicht freigegeben, könnte jetzt eine erweiterte Freigabe natürlich machen, beziehungsweise bei Sicherheit einfach mal prüfen, wie es jetzt mit den Berechtigungen aussieht, und jetzt muss ich natürlich schauen, je nach Replikationsart ist es schon notwendig, dass dann gegebenenfalls Berechtigung vergeben werden müssen, weil wenn die Abonnenten sich die Daten abholen, müssen sie zugreifen können auf diesen Ordner. Wenn ein Verleger die Information raussendet, ist es also nicht notwendig. Ich breche den Dialog jetzt hier an der Stelle ab, lasse es mal bei den Standardberechtigungen, achte einfach drauf, dass also hier bei mir der Verteiler und Verleger die Daten rausschiebt. In dem Moment muss ich also auch keine zusätzlichen Berechtigungen setzen. Die Datenbank, die ich veröffentlichen möchte, ist die AdminSQLXPERT, gehe auf WEITER, sage Snapshot, also eine Momentaufnahmeveröffentlichung, wähle dann die Tabellen aus, dazu nehme hier einfach mal eine ganz simple Tabelle. SQLInstance beinhaltet einfach eine ID und den Namen einer SQL Server Instanz. Ich gehe noch mal zurück. Hier lassen sich dann Eigenschaften noch definieren, das heißt, was soll jetzt mitrepliziert werden. Also wenn ich da mal reingehe, Artikeln müssen Eigenschaften festgelegt werden, ich habe natürlich jetzt gesagt "des hervorgehobenen" - muss ich nochmal schauen ist es jetzt noch drin - selektieren des hervorgehobenen, und hier kann man jetzt sehen, dass, ja für die Replikation viele Feineinstellungen zum Tragen, aktuell PRIMARY KEY-Einschränkung auf den Abonnenten kopieren, FOREIGN KEY nicht check, nicht, gruppierte Indexes, ja, nicht-gruppierte, nein. Das heißt, jetzt geht es einfach darum, die Struktur wird ja auf dem Zielsystem auf den Abonnenten kopiert, was soll also jetzt mitgenommen werden, vor allen Dingen später auch wichtig für Änderungen. Ich nehme jetzt keine Änderungen an diesen Properties vor. Was allerdings im Hinterkopf bleiben muss, wenn man über das Thema Replikation spricht, die technische Einrichtung ist sicherlich gar nicht so schwer, aber ich muss nachher meine Daten sehr gut kennen, muss sehr gut wissen, gibt es Änderungen am Tabellenschema, was hat das für Auswirkungen, was soll auf die Sekundären, also auf Abonnenten mitrepliziert werden, was nicht, darüber muss ich mir halt nachher Gedanken machen. Ich blasse es einfach bei dieser Tabelle, gehe auf WEITER, habe jetzt die Möglichkeit, ich klicke dazu mal auf HINZUFÜGEN, um das zu zeigen, zu filtern, das heißt, nichts anderes als, dass ich jetzt eine WHERE-Clausel habe und kann sagen, als Beispiele, da stehen jetzt vier Millionen Datensätze drin, das sind Server, die über den gesamten, sage ich mal im deutschsprachigen Raum verteilt sind, und ich möchte jetzt filtern und sagen, nur das, was Deutschland, oder die Schweiz oder Österreich betrifft, dann kann ich für eine Replikation halt sagen, nur die möchte ich entsprechend dann replizieren, und dann werden nicht alle Daten übertragen. Aktuell belasse ich es also bei der Einstellung. Momentaufnahme sofort erstellen und initialisieren, das heißt also, es wird, nachdem ich fertig bin und der Assistent durch ist, sofort ein Snapshot erstellt. Und die Möglichkeit dann, weil das ist üblich für die Snapshotreplikation, dass das dann immer wieder getimet, gemacht wird, dass neue Snapshot generiert werden und diese dann übertragen. Das kann ich hier unten definieren, indem ich ein Zeitplan festlege und sage, so, zum Beispiel stündlich soll ein neuer Snapshot erstellt werden, damit dann die Daten gesamt wieder zum Abonnenten übertragen werden. Auf den Zeitplan verzichte ich, jetzt ich möchte das einmalig jetzt einrichten und ausführen, der Agent, jetzt geht es darum ein Anmeldenamen für den Replikationsagent, dazu gehe ich in die Sicherungseinstellungen und zunächst probiere ich das unter dem SQL Server-Agent-Dienstkonto auszuführen. Okay, gehe auf WEITER, Veröffentlichung starten, gebe jetzt den Namen für die Veröffentlichung an, es ist also die SqlXpert_Pub, für die Veröffentlichung, WEITER, und lasse das Ganze jetzt einrichten. Ich schließe den Dialog, nachdem der Assistent fertig ist, öffne den Knoten, habe hier jetzt meine Publikation, wenn es später Abonnements gibt, ist hier nochmal ein Plus davor, man kann dann eingerückt auch die Abonnements sehen, ansonsten habe ich hier die Möglichkeit mit der rechten Maustaste mir den Status des Momentaufnahme-Agent anzeigen zu lassen, wurde mit einem Artikel generiert, das heißt, wir überprüfen das mal, ich gehe mal zum Ordner "C" "Programme" "SQL Server" "MSSQL", und den Replikationsordner, hier ist jetzt "unc", ein neuer Ordner entstanden, Unterordner, wenn ich jetzt hier mal rein gehe in die Struktur, sehe ich, dass hier, ja, Dateien letztendlich, SQL Server Replikation entsprechend abgelegt sind. Das hat also funktioniert, der Snapshot wurde erstellt. Ich schließe jetzt das Ganze, gehe zu meinen Abonnenten und möchte jetzt auf dem Abonnenten in dem Fall SRVSQL2 die Replikation so zu Ende führen, dass hier ein Abonnement eingerichtet wird. Rechte Maustaste, auch wieder über den Assistenten, "Neue Abonnements", WEITER. Wer ist der Verleger? Verleger ist in dem Fall ein SQL Server, es gibt auch Oracle-Verleger, also die Möglichkeit diese Replikation mit Oracle in Verbindung zu machen. Wähle den SQL Server-Verleger aus, das ist mein SRVSQL1, der die Daten ja publiziert, die Datenbank, die Veröffentlichung WEITER. Jetzt ist entscheidend, jetzt muss ich wählen. Der Agent, der jetzt das Ganze verteilt, wo soll dieser laufen, wo soll der ausgeführt werden, ich habe jetzt einmal die Möglichkeit das auf dem Verteiler zu machen. Dafür muss ich mich jetzt auch entscheiden, also Pushabonnements, weil ich den Share nicht so definiert habe, dass, wenn der Agent auf dem Abonnenten laufen würde, diese sich das abholen können, also im Pull-Verfahren, sondern ich schiebe es raus, und das ist der Grund, warum ich jetzt hier oben diese Position wähle. WEITER, meine Datenbank existiert auf dem SRVSQL2 noch nicht, das heißt, ich habe jetzt hier die Möglichkeit diese neu anzulegen. Gehe in den Dialog, gebe den Namen der Datenbank ein, "Abo" für Abonnements, OK, die Datenbank wird angelegt. Da ist sie, auf der linken Seite, in der Objektstruktur zu sehen, gehe auf WEITER, komme jetzt in die Sicherheit oder in die Einstellungen der Sicherheit für den Verteilungs-Agent. Auch hier sage ich, ich möchte das zunächst unter dem Dienstkonto des SQL Server-Agent ausführen. Steht zwar hier in Klammern: Das ist keine empfohlene bewährte Sicherheitsmethode. Jetzt geht es mehr um die technische Präsentation. Ich kann natürlich später oder sollte gegebenenfalls ein eigenes Domainen-Benutzerkonto einrichten für Replikationszwecke, das muss natürlich dann entsprechend berechtigt werden auf das Filesystem, auf diesem Repldata-Ordner, es muss sich verbinden können mit dem SQL Server, es muss Daten letztendlich replizieren können, alles das müsste man dann gesondert setzten. Um das Szenario jetzt mal grundlegend hier zu zeigen, fahre ich fort, mit dem Konto des SQL Server-Agents. Der Zeitplan einfach fortlaufend, initialisieren: sofot, das Abonnement erstellen auch jetzt gleich im Anschluss, und damit wird der Prozess fertig gestellt. Das heißt, wenn wir jetzt vom Status her die Rückmeldung erhalten, dass das alles erfolgreich ist, sehen wir zusätzlich hier in der Objektstruktur unter Replikation, das ist meine Publikation, und ich sagte vorhin bereits, unten drunter erscheint das Abonnement. Die Möglichkeit jetzt eine Replikation zu monitoren, habe ich natürlich separat auch. Das ist auch ein wichtiger Teil, da ich hier meist auch erstmal vielleicht Fehlermeldungen habe, die ich erkennen kann, das heißt, ich starte den Replikationsmonitor. Wir vorhergesagt, es ist mit Fehlern zu rechnen. Den Replikationsmonitor habe ich hier verschiedene Ebenen, obere Ansicht, Verteileransicht wechseln, also weitere Informationen, ich gehe mal in der Hierarchie nach unten, kann jetzt schauen, ob ein Agent läuft, was ich ja schon weiß. Das haben wir in dem Ordner überprüft, dass der Snapshot erstellt wurde mit dem einen Artikel, das heißt, dieser Prozess ist gelaufen. Offensichtlich aber gibt es ein Fehler hinsichtlich, ja weiterer verfahren. Jetzt schaue ich mal, rechte Maustaste, gehe mal auf "Details anzeigen", und kann erkennen, der Prozess konnte auf die Abo-Datenbank, auf dem Zielserver nicht zugreifen. Dazu schaue ich hier unten mal etwas genauer nach und sehe natürlich, dass es hier ein Fehler bei der Anmeldung für den Benutzer Domäne SQLXPERT\SQL_Service gab, auf, ja, offensichtlich der Abo-Datenbank. Ich muss also zunächst prüfen, ob der ein Log-In hat, ob der auf die Datenbank zugreifen kann. Das würde ich im nächsten Schritt einfach mal machen. Begebe mich also runter zum Server2, wo die Abo-Datenbank läuft, dann schaue ich mir an, ob es im Knoten "Sicherheit" auf der Instanz eine Anmeldung gibt für dieses Konto. Das gibt es hier, SQL_Service. Ich schaue mir jetzt an bei der Benutzerzuordnung, ob der Zugriff auf die Datenbank selektiert ist, es ist nicht der Fall. Und würde das jetzt im Grunde von den Rechten so durchadministrieren, dass das Ganze jetzt funktioniert. Ich mache ihn mal zum db_owner hier in dem Fall, so bestätige das, und jetzt kann ich natürlich schauen, entweder initialisiere ich das Ganze neu, das heißt, man hat jetzt verschiedene Möglichkeiten. Ich kann jetzt ein Abonnement erneut initialisieren, mit der aktuellen Momentaufnahme. Das führe ich mal aus, und man sieht, wie er jetzt das Ganze auf Grün umswitcht, und ich also jetzt davon ausgehen kann, dass dieser Schritt jetzt erstmal erfolgreich ausgeführt wurde. Abschließend ein prüfender Blick. Das sieht gut aus im Management Studio. Zur Zielinstanz, zur Datenbank, die Tabelle wurde repliziert, rechte Maustaste, schauen wir mal die Daten entsprechend an, und ich sehe, dass die Daten jetzt auch angekommen sind. In diesem Film haben Sie gesehen, wie Sie unter SQL Server 2016 eine Snapshotreplikation einrichten können, gesehen, wie auch kleine Fehlermeldungen entstehen, weil entsprechend Berechtigungen gesetzt werden müssen und die Möglichkeit besteht mit dem Replikationsmonitor eine Replikation dann zu überwachen, also zu monitoren.

SQL Server 2016 Grundkurs: Architektur, Komponenten und Installation

Lernen Sie die Architektur und Komponenten des SQL Server 2016 kennen, installieren Sie ihn und unternehmen Sie die ersten Schritte in der Administration.

4 Std. 57 min (46 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:19.04.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!