Home > IT Pro, Server, SQL 2012, SQL Server > SQL Server 2012 installation issue

SQL Server 2012 installation issue

Volendo non farmi mancare proprio nulla ed essendo appena stata rilasciata la RTM di SQL Server 2012 (quello che fino alla RC0 era conosciuto in codice col nome di “Denali”), ho voluto installare la RTM su uno dei miei server virtuali con Windows Server 2008 R2 Datacenter.

Ho scaricato quindi la iso dal sito Technet ed ho avviato il setup che si presenta così:

Scelgo “Installation” e parte il wizard, scelgo di installare tutte le features, clicco quasi sempre “Next” tranne pochi casi in cui devo cliccare “Add current user” (per l’amministrazione del server) e, poco prima del termine, compare un errore nell’avviamento di cinque dei servizi tra i quali lo stesso Database Engine (qui ho riprodotto l’errore che compariva anche con la RC0).

L’errore dettagliato di seguito riporta i servizi che non partono:

Feature: Reporting Services – Native

Status: Failed: see logs for details

Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.

Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.

Component name: SQL Server Database Engine Services Instance Features

Component error code: 0x851A0019

Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.1750.32&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025

Feature: Database Engine Services

Status: Failed: see logs for details

Reason for failure: An error occurred during the setup process of the feature.

Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.

Component name: SQL Server Database Engine Services Instance Features

Component error code: 0x851A0019

Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.1750.32&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025

Feature: Data Quality Services

Status: Failed: see logs for details

Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.

Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.

Component name: SQL Server Database Engine Services Instance Features

Component error code: 0x851A0019

Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.1750.32&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025

Feature: Full-Text and Semantic Extractions for Search

Status: Failed: see logs for details

Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.

Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.

Component name: SQL Server Database Engine Services Instance Features

Component error code: 0x851A0019

Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.1750.32&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025

Feature: SQL Server Replication

Status: Failed: see logs for details

Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.

Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.

Component name: SQL Server Database Engine Services Instance Features

Component error code: 0x851A0019

Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.1750.32&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4025

Questi errori indicano in pratica che i servizi evidenziati poco sopra non si avviano con l’account messo di default dal wizard d’installazione.

Nei sistemi Windows 7 e Windows Server 2008 R2 per l’avvio dei servizi vengono utilizzati infatti i virtual accounts come rappresentato nella seguente tabella

Component Windows Vista and Windows Server 2008 Windows 7 and Windows Server 2008 R2
Database   Engine NETWORK   SERVICE Virtual   Account*
SQL Server   Agent NETWORK   SERVICE Virtual   Account*
SSAS NETWORK   SERVICE Virtual   Account*
SSIS NETWORK   SERVICE Virtual   Account*
SSRS NETWORK   SERVICE Virtual   Account*
SQL Server Distributed Replay Controller NETWORK   SERVICE Virtual   Account*
SQL Server Distributed Replay Client NETWORK   SERVICE Virtual   Account*
FD Launcher (Full-text Search) LOCAL   SERVICE Virtual   Account
SQL Server   Browser LOCAL   SERVICE LOCAL   SERVICE
SQL Server   VSS Writer LOCAL   SYSTEM LOCAL   SYSTEM

dove, nel caso specifico, i virtual accounts sono i seguenti

NT Service\ReportServer

NT Service\MSSQLSERVER

NT Service\MSSQLFDLauncher

NT Service\SQL Server Distributed Replay Client

NT Service\SQLSERVERAGENT

NT Service\MSSQLServerOLAPService

NT Service\SQL Server Distributed Replay Controller

NT Service\MsDtsServer110

Con un po’ di ricerche ed anche con il supporto di Davide Mauri (MVP SQL Server) pervengo a questa soluzione

http://blogs.msdn.com/b/sqlsakthi/archive/2010/08/31/quot-wait-on-the-database-engine-recovery-handle-failed-quot-while-installing-sql-server-2008.aspx

che indirettamente richiama questo articolo della KB

http://support.microsoft.com/kb/920114/en-us

ma anche provando a seguire le indicazioni della soluzione linkata andando ad aggiungere l’account NT Service\MSSQLSERVER con diritto = “full control” alla cartella PROTECT, quando tento di avviare il servizio del db engine ottengo in successione i seguenti errori  17190, 17182, 17182, 17826, 17120 tutti di origine MSSQLSERVER e il servizio non si avvia.

Provo allora a seguire l’indicazione fornita qui

http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/88b12134-55dc-408f-8250-ee79df359714

ma cambiando l’account di avvio dei servizi, sia dalla Management Console dei Servizi sia da SQL Server Configuration Manager, ed utilizzando Localsystem oppure Network Service a quel punto il servizio si avvia ma, eseguendo SQL Server Management Studio non è possibile loggarsi al Database Engine nè con le credenziali di un domain admin nè con quelle di “sa” messe appositamente durante il wizard d’installazione perchè in entrambi i casi si ottiene l’enigmatico errore di SQL Server 18546

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

Rileggendo con attenzione i links precedenti e, in particolare l’ultimo, collego il problema al certificato self-signed che SQL Server utilizza per crittografare le password e deduco che la soluzione della modifica dei permessi è corretta ma farla “a posteriori” non serve a nulla come dimostrato dalle mie prove perciò mi armo di santa pazienza e disinstallo nuovamente tutto e riavvio la macchina virtuale.

Dopo il riavvio eseguo Windows Update facendo applicare tutti gli aggiornamenti disponibili sui server di update di Microsoft onde evitare che manchi qualche patch connessa al servizio dei certificati, modifico le ACL della cartella %userprofile%\AppData\Microsoft\Roaming\Microsoft\Protect

concedendo diritto = “full control” all’account builtin “NT AUTHORITY\Network Service” come mostrato nell’immagine qui sotto

poi eseguo il setup d’installazione di SQL Server 2012 con i soliti “Next” ma, al passo in cui si definiscono gli accounts di avvio dei servizi, modifico l’account di avvio di tutti i servizi

dall’account proposto di default il cui tipo generico è “NT Service\SQLSERVERAGENT” con l’account builtin “NT AUTHORITY\Network Service” come mostrato qui

e finalmente l’installazione viene completata con successo senza alcun errore, tutti i servizi ad avvio automatico si avviano ed è possibile connettersi da SSMS al Database Engine con le utenze stabilite.

Buon SQL Server 2012 a tutti! :)

  1. Gabriele
    6 febbraio 2013 alle 16:55

    Ciao, ho un problema simile, in realtà l’errore è:

    Component error code: 0x851A0019
    Error description: Could not find the Database Engine startup handle.

    Sto installando SQL Server 2012 Enterprise SP1 in cluster su un Windows Server Standard 2012 Cluster.

    La tua soluzione non è attuabile durante un’installazione cluster che richiede per forza un account di dominio.

    Hai per caso qualche suggerimento da darmi ?

    L’account utilizzato per il servizio di SQL fa parte dei domain admins.

    Grazie.
    Gabriele

  2. 23 marzo 2014 alle 04:24

    Thanks for the working solution!

  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

%d blogger cliccano Mi Piace per questo: