Si applica a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomi

Considerare lo scenario descritto di seguito:

  • Si usa Microsoft SQL Server 2012 o SQL Server 2014.

  • Si dispone di un database con Service Broker abilitato nella replica primaria.

  • È possibile eseguire il backup del database in un server principale che dispone di Service Broker abilitato e ripristinarlo nel server secondario.

  • Nell'ambito della definizione del gruppo di disponibilità tra i server primari e secondari, è possibile provare a partecipare al gruppo di disponibilità tramite la creazione guidata nuovo gruppo di disponibilità o il comando: ALTER DATABASE <dbname> SET HADR availability group = <AGNAME>

In questo scenario viene registrato il seguente errore nel log degli errori di SQL Server:

{Error: 3449, gravità: 21, stato: 1. SQL Server deve essere arrestato per recuperare un database (ID database 1). Il database è un database utente che non è stato possibile arrestare o un database di sistema. Riavviare SQL Server. Se il database non viene recuperato dopo un altro avvio, il ripristino o la traccia restoreSQL è stata interrotta a causa di un arresto del server. ID traccia =' 1'. Si tratta solo di un messaggio informativo; non è necessaria alcuna azione per l'utente.}

Causa

Il problema si verifica perché se è stato eseguito il backup e il ripristino di un database di Service Broker abilitato nel server secondario, il Service Broker nel database ripristinato non è abilitato. Il database mantiene ancora un ID di Service Broker internamente. Quando si aggiunge il database ripristinato nel server secondario al gruppo di disponibilità, Service Broker è abilitato. Viene rilevato lo stesso GUID nel database di disponibilità e viene generato l'errore seguente: 9772 "il Service Broker nel database"<dbname>"non può essere abilitato perché esiste già un Service Broker abilitato con lo stesso ID". In questo modo viene visualizzato l'errore 3449 quando il database partecipa al gruppo di disponibilità e causa l'arresto imprevisto di SQL Server.

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.