none
Hängende Transaction bzw. Prozess (Brokerservice) RRS feed

  • Frage

  • Wir setzen bei uns den SQL Server 2017 in der Standard Edition ein. Diesen betreiben wir in einem Fail Over Cluster.

    Eine SQL Serverinstanz nutz den Brokerservice. 

    Problemauswirkung:  Wenn wir noch laufende Transaktionen haben bzw. offene Connection haben, läst sich z.B. diese Datenbank nicht Offline nehmen auch wenn wir "Drop All Active Connections" ausgewählt haben. Auch ein Schenk der SQL-Server Instanz auf den anderen Cluster-Knoten ist nicht möglich, da dieser die SQL Serverinstanz nicht Offline nehmen kann.

    Wir haben den Brokerservice in Verdacht denn wenn ich folgende Auswertung mache bekomme ich folgende Informationen:

    Bei "Abfragen aller Angemeldete User": 


    Mache ich dann folgende Abfrage:

    SELECT * FROM sys.sysprocesses AS PRO where spid in (49,92)

    Bekomme ich folgende Rückmeldung:

    Beenden wir die Session mit Kill 49 und  Kill 92, dann werden immer wieder neue Sessions aufgebaut mit den gleichen Angaben wie oben. Aus diesem Grund kann ich die Datenbank nicht Offline nehmen und der Cluster Schwenk funktioniert auch nicht. Auch läst sich das Transactionsprotokoll nicht mehr leeren bei einem LOG-Backup.

    Hat jemand Erfahrung damit und kann mir helfen wie ich solche kaputten Sessions beenden kann.  Oder was man dort machen kann.

    Mittwoch, 4. März 2020 07:50

Antworten

  • Hallo sglbs,

    mache das ganze mit T-SQL wie folgt:

    ALTER DATABASE <NameDerDatenbank> SET OFFLINE WITH ROLLBACK IMMEDIATE;

    Das sollte ohne Probleme gehen!

    Ansonsten müsste man auch mal wissen, was der Service Broker so macht!
    SB ist ein asynchroner Dienst - normalerweise wird die Queue zeitgesteuert abgearbeitet.
    Alternativ wäre es natürlich auch möglich, das eine Prozedur in einer ewigen Loop die Queue überwacht.
    Aber das wäre Glaskugel-Lesen!


    Uwe Ricken (Blog | Twitter)
    Microsoft Certified Master - SQL Server 2008
    Microsoft Certified Solution Master - CHARTER Data Platform
    Microsoft Certified Solution Expert - Data Platform
    db Berater GmbH
    Microsoft SQL Server Blog (german only)



    • Bearbeitet Uwe RickenMVP Donnerstag, 26. März 2020 17:19
    • Als Antwort markiert sglbs Dienstag, 26. Mai 2020 12:39
    Donnerstag, 26. März 2020 17:16
  • Hallo Uwe,

    gedanklich war ich da wohl schon ein paar Schritte weiter! ;-)


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

    • Als Antwort markiert sglbs Dienstag, 26. Mai 2020 12:39
    Freitag, 27. März 2020 08:22
    Beantworter

Alle Antworten