none
Transaktionsreplikation - Fehler "due to OS error 1326. (Quelle: MSSQL_REPL, Fehlernummer: MSSQL_REPL20024)" RRS feed

  • Allgemeine Diskussion

  • Hallo Team,

    bei meiner ersten Transaktionsreplikation habe ich soweit alles hinbekommen. Alle Assistenten beenden fehlerfrei.

    Wenn ich jedoch einen Abonnement hinzufüge erhalte ich im Replikationsmonitor im Verleger die Fehlermeldung

    The process could not read file '\\192.168.0.8\SQLReplikation\unc\SERVER08_TESTSYNC_TEST9\20140324144189\Test_2.pre' due to OS error 1326. (Quelle: MSSQL_REPL, Fehlernummer: MSSQL_REPL20024)
    Hilfe abrufen: http://help/MSSQL_REPL20024
    Přihlašovací chyba: Neznámé uživatelské jméno nebo špatné heslo.
     (Quelle: MSSQL_REPL, Fehlernummer: MSSQL_REPL1326)
    Hilfe abrufen: http://help/MSSQL_REPL1326
    Ich erstelle zwar eine neue Datenbank im Abonnement, aber dort werden die Tabellen nicht erstellt.

    Beide SQL Server sind 2005 und per VPN verbunden gehören jedoch zu verschiedenen Domänen und unterschiedliche User.

    Den Snapshot Ordner auf dem Verleger \\Server08\SQLReplikation habe ich für 'Jeden' mit Vollzugriff freigegeben.

    Der Agent auf dem Abonnement und SQL Dienst läuft als spezieller Benutzer mit dem ich auf dem Server eingeloggt bin.

    Wie kann ich dem speziellen Benutzer eine Freigabe auf dem Verlegerserver Snapshot Ordner erteilen? Oder ist es ein anderes Problem?

    Ich freue mich auf jede Antwort

    Gruß Samuel

    Montag, 24. März 2014 14:58

Alle Antworten

  • Ist das ungarisch?

    Vielleicht übersetzt Du uns das? Nicht das wir nicht auch googeln könnten.. aber wäre nett - und könnte es beschleunigen ;-)

    Nebenbei 2 Punkte: mit SQL Server 2005 seid ihr aus dem Support raus. Schon länger. Da kann man nichts anderes als Euch ein Upgrade auf mindestens SQL Server 2012 empfehlen.

    Und: "Jeder" und "Vollzugriff" ist unnötig viel.

    Aber auch auf die NTFS-Berechtigungen kommt es an.


    Andreas Wolter (Blog | Twitter)
    MCM - Microsoft Certified Master SQL Server 2008
    MCSM - Microsoft Certified Solutions Master Data Platform, SQL Server 2012
    www.andreas-wolter.com | www.SarpedonQualityLab.com

    Montag, 24. März 2014 21:31
  • Hallo Andreas,

    vielen Dank für die Rückfrage. Die Sprache ist Tschechisch und ich habe auch keine Ahnung was es bedeutet. Es wird einfach von dem SQL-Server zurückgegeben der in Tschechien steht.

    Ok, für 2005 machen wir sicher bald ein Upgrade.

    Vollzugriff war einfach nur eine Idee um auch vom CZ Server Daten lesen zu können. Über den UNC Pfad kann ich vom CZ Server sogar Daten in diesem Verzeichnis erstellen. Doch der CZ SQL-Server kann das dort liegende Snapshot einfach nicht lesen. Warum?

    Gruß Samuel

    Montag, 24. März 2014 21:52
  • Ah. Tschechisch.

    translate.google.de - probiers doch mal aus? Ganz ehrlich: um 11 Uhr Nachts erlaube ich mir etwas "Faulheit" ;-)

    Und die NTFS-Berechtigungen sind auch gesetzt?

    Konto vom Agenten geklärt und kein Fehler dabei?

    Das wären so meine ersten Prüfungen


    Andreas Wolter (Blog | Twitter)
    MCM - Microsoft Certified Master SQL Server 2008
    MCSM - Microsoft Certified Solutions Master Data Platform, SQL Server 2012
    www.andreas-wolter.com | www.SarpedonQualityLab.com

    Montag, 24. März 2014 21:58
  • due to OS error 1326.

    Hallo Samuel,

    die DE Fehlermeldung zu der 1326 erhält man in einer Command Box mit

    net helpmsg 1326
    oder man sieht einfach nach: System Error Codes (1300-1699)
    =>
    Anmeldung fehlgeschlagen: unbekannter Benutzername oder falsches Kennwort.
    The user name or password is incorrect.

    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Dienstag, 25. März 2014 08:13
  • Hallo Raul,

    ich bin insofern weiter gekommen dass ich jetzt weiß welches Problem ich habe:

    "Replicate Between Computers Running SQL Server in Non-Trusted Domains or Across the Internet"
    (http://support.microsoft.com/kb/321822/en-us)

    Ich habe auch entsprechende Webseiten gefunden die das Problem behandeln, jedoch sind diese veraltet oder sie funktionieren nicht da ich eine andere Konstellation habe.
    Eigentlich funktioniert alles bis auf das Einlesen des Snapshots auf dem Abonnent. Hier hat der SQL-Benutzer keine Ordnerrechte auf dem Verleger obwohl ich den Ordner mit Vollzugriff für den Benutzer 'Jeder' freigegeben hatte.
    Viele schreiben, dass man einen lokalen Benutzer Server\Benutzer auf beiden Seiten anlegen soll. Das funktioniert jedoch nicht auf unserem Abonnent, denn er ist ein Domänencontroller.
    Ich habe auch schon versucht die Replikation mit einer Rücksicherung zu starten, ohne dass ein Snapshot benötigt wird, doch das ist auch fehlgeschlagen.

    Hast Du mir noch eine Idee?
    Vielen Dank für Deine Hilfe.

    Gruß Samuel

    Dienstag, 1. April 2014 10:56
  • Ich habe auch schon versucht die Replikation mit einer Rücksicherung zu starten, ohne dass ein Snapshot benötigt wird, doch das ist auch fehlgeschlagen.

    Hallo Samuel,

    genau das hätte ich auch in diesem Falle vorgeschlagen, den Snapshot nicht per Agent anlegen zu lassen, sondern manuell. Bei einer kleinen DB hatte ich diese mit Tabellen manuell per Script angelegt und die Daten über einen Linked Server rüber kopiert, in einem anderen Fall per Backup & Restore.

    Was genau hat bei Dir jetzt nicht geklappt / welche Fehlermeldung erhältst Du?


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Dienstag, 1. April 2014 11:12
  • Hallo Olaf,

    vielen Dank für Deine Antwort.

    Jetzt habe ich beide Datenbanken identisch. Es ist erstmal nur eine Test-DB.

    Ich erstelle auf dem Verleger eine neue lokale Publication. Der Replikationsmonitor zeigt keine Fehler. Danach erstelle ich auf dem Abonnent ein neues Abonnement mit Status Erfolg nach der Initialisierung. Jetzt erweitere ich die derzeit einzige Tabelle um einen Eintrag und prüfe dann im Verleger den Replikationsmonitor. Der enthält folgende Fehlermeldung:

    Verwendeter Befehl:
    \\192.168.0.8\SQLReplikation\unc\SERVER08_TESTSYNC_TESTSYNC\20140401141163\Test_2.pre
    (Transaktionssequenznummer: 0x0000006D00001BE6002300000000, Befehls-ID: 5)

    Fehlermeldungen:
    The process could not read file '\\192.168.0.8\SQLReplikation\unc\SERVER08_TESTSYNC_TESTSYNC\20140401141163\Test_2.pre' due to OS error 1326. (Quelle: MSSQL_REPL, Fehlernummer: MSSQL_REPL20024)
    Hilfe abrufen: http://help/MSSQL_REPL20024
    Prihlašovací chyba: Neznámé uživatelské jméno nebo špatné heslo.
     (Quelle: MSSQL_REPL, Fehlernummer: MSSQL_REPL1326)
    Hilfe abrufen: http://help/MSSQL_REPL1326

    Er will immer auf den Snapshotordner zugreifen, obwohl die Datenbanken gleich sind (waren).

    Wie kann ich die Initialisierung über den Snapshotordner unterbinden?

    Vielen Dank für Deine Hilfe.

    Gruß Samuel

    Dienstag, 1. April 2014 12:27
  • Wie kann ich die Initialisierung über den Snapshotordner unterbinden?

    Du musst beim Erstellen der Subscription angeben, das der Abonnent nicht initialisiert werden soll, das ist im Wizard dieser Dialog:

    Dort das Häkchen "Initialize" entfernen.
    Im alten Enterprise Manager 2000 war das etwas klarer ersichtlich, was die Option darstellen soll:


    Olaf Helper

    [ Blog] [ Xing] [ MVP]


    Dienstag, 1. April 2014 12:48
  • Hallo Olaf,

    Danke für die schnelle Antwort. Beim Erstellen der Subscription konnte ich das Häckchen entfernen, doch die Einstellung des zweiten Screenshots 'Pushabonnement-Assistent' finde ich nicht.

    Wenn ich eine Datenzeile anfüge steht auf beiden Seiten 'Es wurden 1 Transaktion(en) mit 1 Befehl(en) abgeschlossen', aber es wird nicht synchronisiert. Auf der Sibscription-Datenbank wird nichts geändert.

    Kannst Du mir noch mal helfen?

    Danke

    Samuel

    Dienstag, 1. April 2014 13:09
  • ok, Korrektur: auf die Verlegerdatenbank wird tatsächlich etwas repliziert!!! Leider wird noch nichts auf den Abonnent übertragen, obwohl ich folgende Replikation gestartet habe:

    Transaktionspublikation mit aktualisierbaren Abonnements der TestSync-Datenbank von Verleger 'SERVER08'.

    Kannst Du mir noch sagen wo man die Einstellung 'Nein, der Abonnent verfügt bereits über das Schema und die Daten' ?

    Und wie kann ich in beide Richtungen replizieren?

    Vielen Dank für Deine Hilfe.

    Gruß Samuel

    Dienstag, 1. April 2014 13:21
  • Kannst Du mir noch sagen wo man die Einstellung 'Nein, der Abonnent verfügt bereits über das Schema und die Daten' ?

    Und wie kann ich in beide Richtungen replizieren?

    Hallo Samuel,

    wie ich extra bei schrieb, ist der zweite Screenshot aus dem alter Enterprise Manager vom SQL Server 2000, der die gleiche Option darstellt; nur ist es dort besser beschrieben. Den gibt es im Wizard von SSMS so nicht.

    In beide Richtungen replizieren geht nur mit der Merge Replikation; siehe auch Replikationstypen (Übersicht)


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Mittwoch, 2. April 2014 05:58
  • Hallo Olaf,

    vielen Dank für Deine Antwort. Ich hatte die Transactional Replication gewählt weil ich dachte die Übertragung ist schneller und auch der Publisher kann geupdatet werden:

    http://technet.microsoft.com/en-us/library/ms151794%28v=sql.105%29.aspx

    Gruß Samuel

    Mittwoch, 2. April 2014 06:24
  • Hallo Olaf,

    vielen Dank für Deine Antwort. Ich hatte die Transactional Replication gewählt weil ich dachte die Übertragung ist schneller und auch der Publisher kann geupdatet werden:

    http://technet.microsoft.com/en-us/library/ms151794%28v=sql.105%29.aspx

    Gruß Samuel

    Das stimmt schon. Ich würde auch immer die Transaktions-Replikation (mit updatable Subscribern oder Peer-to-Peer) vorziehen, da sie weit weniger Bug-Anfällig ist und weniger Overhead hat.

    Man muss Konflikte allerdings auch wirklich abfangen.

    Eine Anleitung findet sich hier. Aber vmtl. kennst du diese schon: http://technet.microsoft.com/en-us/library/ms152769.aspx


    Andreas Wolter (Blog | Twitter)
    MCM - Microsoft Certified Master SQL Server 2008
    MCSM - Microsoft Certified Solutions Master Data Platform, SQL Server 2012
    www.andreas-wolter.com | www.SarpedonQualityLab.com

    Mittwoch, 2. April 2014 08:42
  • Hallo Olaf und Andreas,

    Danke für Eure Hilfe! Ich bin einen Schritt weiter. Die Replikation mit Push funktioniert in beide Richtungen ohne Fehler!

    Die Replikation mit Pull funktioniert auch in beide Richtungen. Doch der Repl.Monitor hat ein rotes Symbol aber ohne Fehlermeldungen.

    Im SQL Protokoll des Verlegers steht:

    Datum        02.04.2014 20:43:38
    Protokoll        SQL Server (Aktuell - 02.04.2014 20:43:00)

    Quelle        spid371

    Meldung
    Replication-Subsystem des Transaktionswarteschlangenlesers für die Replikation: agent [<server>].27 failed. Beim Herstellen der Verbindung mit ''TestSync'' auf ''Q0'' wurde vom Warteschlangenlese-Agent der Fehler ''Fehler bei der Anmeldung für den Benutzer ''NT AUTHORITY\ANONYMOUS LOGON''.'' festgestellt. Stellen Sie sicher, dass die Publikation und das Abonnem


    Im SQL-Protokoll des Abonnenten steht:

    Datum        02.04.2014 20:44:30
    Protokoll        SQL Server (Aktuell - 02.04.2014 20:44:00)

    Quelle        

    Meldung
    Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. [CLIENT: 192.168.0.8]

    Die Replikation funktioniert trotzdem, doch den Fehler hätte ich gerne noch weg da ich mit Pull replizieren möchte.

    Hat jemand noch eine Idee?

    Vielen Dank

    Gruß Samuel


    Mittwoch, 2. April 2014 19:02
  • Eigentlich typisch bei nicht korrekt eingerichteter Kerberos-Authentifizierung.

    Aber da es dennoch funktioniert, bin ich da etwas unsicher. Cross-Domains sind ja auch im Spiel. Ich würde auf jeden Fall Mal das AD bzw. die Accounts prüfen.


    Andreas Wolter (Blog | Twitter)
    MCM - Microsoft Certified Master SQL Server 2008
    MCSM - Microsoft Certified Solutions Master Data Platform, SQL Server 2012
    www.andreas-wolter.com | www.SarpedonQualityLab.com

    Mittwoch, 2. April 2014 19:15
  • Das ist hier die Frage: Wie richte ich die Authentifizierung richtig ein bei non-trusted Domains? Einer SQL-Server ist ja auch noch ein Domain-Controller.

    Vielleicht kann mir hier noch jemand weiterhelfen.

    Gruß Samuel

    Donnerstag, 3. April 2014 07:39
  • Das ist hier die Frage: 1) Wie richte ich die Authentifizierung richtig ein bei non-trusted Domains? 2) Einer SQL-Server ist ja auch noch ein Domain-Controller.

    ...

    1)
    Kerberos und Non-Trusted domains? Ich glaube fast, das geht per Definition nicht.
    Aber da würde ich mal in einen Windows-AD-Experten zu Rate ziehen - z.B. in einem entsprechenden Windows-Forum
    Vielleicht helfen auch diese Artikel. wenngleich etwas älter:

    Kerberos Interoperability Step-by-Step Guide for Windows Server 2003

    http://searchwindowsserver.techtarget.com/feature/Logging-on-to-Windows-using-Kerberos-Multiple-domain-environment

    Meiner Meinung nach müsstest Du zunächst einen Trust herstellen.

    2)
    Das ist ja auch nicht so ideal, oder?
    Ist all das beachtet worden?:

    Support for installing SQL Server 2008 on a domain controller

    Probleme treten möglicherweise bei der Installation von SQL Server auf einem Domänencontroller


    Andreas Wolter (Blog | Twitter)
    MCM - Microsoft Certified Master SQL Server 2008
    MCSM - Microsoft Certified Solutions Master Data Platform, SQL Server 2012
    www.andreas-wolter.com | www.SarpedonQualityLab.com


    Donnerstag, 3. April 2014 08:49
  • Vielleicht kann auch das hier helfen:
    http://www.insidesql.org/blogs/cmu/sql_server/log-shipping-ohne-vertrauensstellung

    Betrifft zwar Log-Shipping, aber der Hintergrund ist auch zwei Server ohne Vertrauensstellung.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu

    Montag, 7. April 2014 10:50
    Beantworter