none
AlwaysOn und Trans.-Replikation Security Frage RRS feed

  • Frage

  • Hallo,

    folgende Konstellation:

    ServerA: Windows 2012 R2, Failovercluster, SQL Server 2012

    ServerB: Windows 2012 R2, Failovercluster, SQL Server 2012

    ServerC: Windows Server 2012 R2, SQL Server 2012 (Standardinstanz), SQL Server 2012 (Instanzname (DIST)

    Nun habe ich auf Server A und B eine AVG Gruppe eingerichtet. Von Server A ausgehend eine Transaktionsreplikation (Push) hin zu Server C (STDInstanz), wobei auf ServerC die benannte Instanz DIST der Verteiler ist. Die Replikation funktioniert hervorragend. Auch nach Failover funktioniert das ganze. 

    Allerdings, und jetzt kommt der Hacken: Der Switch beim Failover auf den AVG Listener funktioniert nur, wenn das Konto mit dem die Replikation betrieben wird auf dem DIST sysadmin ist. Ich habe die Rechte so gesetzt wie sie sein sollten.

    Laut Doku:

    Caller must either be a member of the sysadmin fixed server role, the db_owner fixed database role for the distribution database, or a member of a publication access list for a defined publication associated with the publisher database.

    Alles was blau ist , ist erfüllt und dennoch klappts nicht. 

    Die Replikation läuft vor dem Failover ohne sysdamin perfekt. Aber wie gesagt bei Failover krachts. Im Protokoll lese ich, dass keine Verbindung mit dem Verbindungsserver hergstellt werden könnte.

    Hat jemand eine Idee, wie ich ohne sysadmin auskommen könnte?

    Grüße Andreas

    Mittwoch, 18. Juni 2014 06:49

Antworten

  • Hallo Andreas,
    wie gesagt, ich kann das weder nachstellen, noch habe ich ähnliches im Einsatz.
    Für sys.sp_addlinkedSrvlogin steht in der Online-Doku:
    Requires ALTER ANY LOGIN permission on the server.

    Probier es mal damit nur dieses Recht zusätzlich zum db_owner zu vergeben!
    Und dann wieder tracen, falls es noch nicht geht ...
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu

    Mittwoch, 18. Juni 2014 09:54
    Beantworter

Alle Antworten

  • Hallo Andreas,
    ich habe leider keine Idee, was es sein könnte und auch keine Möglichkeit dies so einfach nachzustellen.
    An Deiner Stelle würde ich auf dem DIST mal mit tracen, was für Statements dort bei einem Failover ausgeführt werden sollen. Vielleicht will sich der Verleger erst mal einen Überblick über die Replikation verschaffen?
    Ich denke mal, fehlerhafte Logins wirst Du schon protokollieren und hier keine sehen.
    HTH!

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

    Mittwoch, 18. Juni 2014 07:41
    Beantworter
  • Hallo Christoph,

    getraced habe ich schon ;-) Irgendwo in den 150 Zeilen wurde mehrfach ein sp_replcmds konnte nicht ausgeführt werden protokolliert. Was zum Fehler eindeutig zuweisbares habe ich nicht gefunden.  Im SQL Protokoll wurde mehrfach kein Zugriff auf Verbindungsserver protokolliert.

    Fehlermeldung: sys.sp_addlinkedSrvlogin Windows Authentification Der Benutzer besitzt nicht die Berechtigung zum auführen dieser Aktion. Error  15247 Level 16 State 1

    Kannst du zumindest bestätigen, dass es ohne sysadmin auch geht ;-)

    Grüße Andreas

    Mittwoch, 18. Juni 2014 08:07
  • Hallo,

    noch vergessen: Sobald der Failover vollzogen ist, kann ich die Rolle sysadmin auf dem DIST wieder entfernen und es funktioniert wunderbar weiter. Also scheint das Problem tatsächlich nur am Ändern der Verbindung zu liegen.. Leider kann ich nicht genau feststellen, was tatsächlich alles an dieser Stelle probiert.

    Grüße Andreas

    Mittwoch, 18. Juni 2014 08:13
  • Hallo Andreas,
    wie gesagt, ich kann das weder nachstellen, noch habe ich ähnliches im Einsatz.
    Für sys.sp_addlinkedSrvlogin steht in der Online-Doku:
    Requires ALTER ANY LOGIN permission on the server.

    Probier es mal damit nur dieses Recht zusätzlich zum db_owner zu vergeben!
    Und dann wieder tracen, falls es noch nicht geht ...
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu

    Mittwoch, 18. Juni 2014 09:54
    Beantworter
  • Hallo Christoph,

    perfekt.. das wars ;-) Nun funktionierts einwandfrei.

    Grüße

    Andreas

    Mittwoch, 18. Juni 2014 12:25