Symptomen
Neem het volgende scenario:
-
U gebruikt Microsoft SQL Server 2012 of SQL Server 2014.
-
U hebt een database waarop Service Broker is ingeschakeld in primaire replica.
-
U kunt een back-up maken van de database op de primaire server waarop Service Broker is ingeschakeld en deze op de secundaire server herstellen.
-
Als onderdeel van de definitie van de beschikbaarheid tussen de primaire en secundaire servers, probeert u deel te nemen aan de database met behulp van de wizard Nieuwe Beschikbaarheidsgroep of de opdracht: ALTER DATABASE <dbname> set HADR Availability group = <agname>
In dit scenario wordt de volgende fout geregistreerd in het foutenlogboek van SQL Server:
{Fout: 3449; Ernst: 21; status: 1. SQL Server moet worden afgesloten om een database te herstellen (database ID 1). De database is een gebruikersdatabase die niet kon worden afgesloten of een systeemdatabase. Start SQL Server opnieuw. Als de database niet meer kan worden hersteld nadat u een andere opstartactie hebt uitgevoerd, is het herstel of de restoreSQL-tracering stopgezet vanwege de server afsluiting. Spoor-ID = ' 1 '. Dit is slechts een informatief bericht. u hoeft geen gebruikersactie te ondernemen.}
Oorzaak
Het probleem kan zich voordoen omdat bij een back-up van een database met Service Broker een back-up wordt gemaakt van de secundaire server, de Service Broker in de herstelde database niet is ingeschakeld. De database houdt de Service Broker-id nog steeds intern bij. Wanneer u de herstelde database op de secundaire server toevoegt aan de beschikbaarheidsgroep, is de Service Broker ingeschakeld. De naam van de database in de database wordt niet weergegeven en de volgende fout wordt weergegeven (stille weergegeven): 9772 "de Service Broker in de database is<dbname>" kan niet worden ingeschakeld omdat er al een ingeschakelde Service Broker met dezelfde id is ingeschakeld. Dit levert een fout 3449 op omdat de database wordt toegevoegd aan de groep met beschikbaarheids redenen en de SQL-Server onverwacht wordt afgesloten.
Oplossing
Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Cumulatieve update 1 voor SQL Server 2014 /en-us/help/2931693
Cumulatieve update 9 voor SQL Server 2012 SP1 /en-us/help/2931078
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.