Wir haben einen dedizierten Server, der die Datenbank unseres Kunden für ein Webportal hostet. Um eine Verbindung zu dieser Datenbank herzustellen, benötigen Sie eine IP-Adresse.
Ich dachte, ich würde die Merge-Replikation ausprobieren, da ich die Snapshot-Veröffentlichung auf dem Server bereits abgeschlossen habe.
Wenn ich versuche, von einem Client aus ein Abonnement zu erstellen, kann ich die IP-Adresse nicht eingeben und erhalte:
Für die SQL Server-Replikation ist der tatsächliche Servername erforderlich, um eine Verbindung zum Server herzustellen. Verbindungen über einen Serveralias, eine IP-Adresse oder einen anderen alternativen Namen werden nicht unterstützt. Geben Sie den tatsächlichen Servernamen an.
Habe ich meine Publikation und mein Abonnement verwechselt? Wie verbinde ich mich mit einer Publikation, die nicht lokal ist?
Antwort1
Die Fehlermeldung ist korrekt: Die Replikation ist „komisch“ in Bezug auf Servernamen. Um herauszufinden, was Sie verwenden müssen, führen Sie dies select name from sys.servers where server_id = 0
bei jedem Teilnehmer in der Topologie aus.
Antwort2
Natürlich habe ich 3 Optionen, aber nur 2 passen zu meiner Situation. Ich erkläre, welche das sind, da ich auf der Site war:
Mergereplikation- Die Mergereplikation beginnt wie die Transaktionsreplikation normalerweise mit einem Snapshot der Objekte und Daten der Veröffentlichungsdatenbank. Nachfolgende Datenänderungen und Schemaänderungen, die beim Verleger und bei den Abonnenten vorgenommen werden, werden mit Triggern verfolgt. Der Abonnent synchronisiert sich mit dem Verleger, wenn er mit dem Netzwerk verbunden ist, und tauscht alle Zeilen aus, die sich seit der letzten Synchronisierung zwischen dem Verleger und dem Abonnenten geändert haben.
Snapshot-Replikation- Die Snapshot-Replikation verteilt Daten genau so, wie sie zu einem bestimmten Zeitpunkt erscheinen, und überwacht nicht, ob Datenaktualisierungen vorliegen. Bei der Synchronisierung wird der gesamte Snapshot generiert und an die Abonnenten gesendet.
Kommen wir nun zum Kern der Sache:
Ich habe Folgendes von hier kopiert.
Verschiedene Replikationsarten über das Internet haben unterschiedliche Sicherheitsstufen. Außerdem müssen beim Übertragen von Replikationsdateien über FTP-Sites Vorkehrungen getroffen werden, um die Site zu sichern und sie dennoch für Replikationsagenten zugänglich zu machen.
Virtuelles privates Netzwerk
Die Verwendung eines virtuellen privaten Netzwerks (VPN) ist die sicherste Option zur Implementierung der Replikation über das Internet. VPNs umfassen Client-Software, sodass Computer über das Internet (oder in besonderen Fällen sogar ein Intranet) eine Verbindung zu Software auf einem dedizierten Computer oder einem Server herstellen können. Optionale Verschlüsselung an beiden Enden sowie Methoden zur Benutzerauthentifizierung schützen die Daten. Die VPN-Verbindung über das Internet fungiert logisch als Wide Area Network (WAN)-Verbindung zwischen den Standorten.
Ein VPN verbindet die Komponenten eines Netzwerks über ein anderes Netzwerk. Dies wird dadurch erreicht, dass der Benutzer durch das Internet oder ein anderes öffentliches Netzwerk tunneln kann (mithilfe eines Protokolls wie Microsoft Point-to-Point Tunneling Protocol (PPTP), das mit dem Betriebssystem Microsoft® Windows NT® Version 4.0 oder Microsoft Windows® 2000 verfügbar ist, oder Layer Two Tunneling Protocol (L2TP), das mit dem Betriebssystem Windows 2000 verfügbar ist). Dieser Prozess bietet die gleiche Sicherheit und Funktionen, die bisher nur in einem privaten Netzwerk verfügbar waren.
Zusammenfassend muss ich mich zum Veröffentlichen in derselben Domäne, einem VPN oder IIS befinden. SQL Server veröffentlicht nicht direkt von SQL Server zu SQL Server, es sei denn, es befindet sich in derselben Domäne.