L'errore 945 e l'aggiornamento di SQL Server non riesce se SSISDB è configurato con il gruppo di disponibilità
Questo articolo consente di risolvere un problema che si verifica se un aggiornamento cumulativo (CU) o service pack (SP) per Microsoft SQL Server segnala il codice di errore 945 quando si eseguono script di aggiornamento del database.
Sintomi
Quando si applica un CU o SP, il programma di installazione restituisce il messaggio di errore seguente:
Attesa dell'handle di recupero del Motore di database non riuscita. Controllare il log degli errori di SQL Server per individuare le possibili cause.
Inoltre, la voce di errore seguente potrebbe essere registrata nel log degli errori di SQL Server:
Database 'master' is upgrading script 'SSIS_hotfix_install.sql' from level 201331031 to level 201331592.
Error: 945, Severity: 14, State: 2.
Database 'SSISDB' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.
Error: 912, Severity: 21, State: 2.
Script level upgrade for database 'master' failed because upgrade step 'SSIS_hotfix_install.sql' encountered error 945, state 2, severity 25. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the 'master' database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.
Error: 3417, Severity: 21, State: 3.
Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.
SQL Server shutdown has been initiated
Causa
Se il database di catalogo di SQL Server Integration Services (SSISDB) viene aggiunto a un gruppo di disponibilità AlwaysOn, l'aggiornamento dello script può non riuscire. Il processo di aggiornamento viene eseguito in modalità utente singolo. Tuttavia, un database di disponibilità deve essere un database multiutente. Pertanto, durante l'installazione dell'aggiornamento, tutti i database di disponibilità, incluso SSISDB, vengono portati offline e non vengono aggiornati.
Per altre informazioni, vedere Aggiornamento di SSISDB in un gruppo di disponibilità.
Risoluzione
Per ovviare a questo problema, esegui la procedura seguente:
- Rimuovere SSISDB dal gruppo di disponibilità.
- Eseguire l'aggiornamento cu in ogni nodo.
- Al termine dell'aggiornamento, ripristinare SSISDB nel gruppo di disponibilità.