In un altro buon articolo Risoluzione dei problemi: connessione a SQL Server quando gli amministratori di sistema sono bloccati , l'autore ci dice che tutto ciò che dobbiamo fare per riprendere il controllo del nostro SQL Server è
"Avvia l'istanza di SQL Server in modalità utente singolo utilizzando le opzioni -m o -f. Qualsiasi membro del gruppo Administrators locale del computer può quindi connettersi all'istanza di SQL Server come membro del ruolo predefinito del server sysadmin. "
Sfortunatamente, ciò che significa avviare in modalità utente singolo non è una questione intuitiva. Inoltre, almeno nella mia esperienza, l'appartenenza al gruppo di amministratori locali del mio computer non ha concesso lo stato sysadmin al mio account "utente".
Questa storia era iniziata quando per affrontare un problema di appartenenza al mio dominio da parte di un server non DC (una conseguenza della modifica dell'ISP), ho ricostruito il controller di dominio in Windows Server 2008 R2 dal 2008. Ciò ha risolto un paio di problemi minori ma non ha risolto la questione dell'appartenenza da parte del server errante. A tal fine è stata necessaria una correzione suggerita in ServerFault (nel mio caso, si trattava di reimpostare winsock e tcpip).
SQL Server 2008 risiede su quel secondo server, ora membro del dominio. Ecco il problema Come qualcuno sottolinea su ServerFault, è comune premere "lascia che l'utente corrente diventi amministratore di sistema" durante l'installazione di Server 2008. Comune anche a non considerare nessun altro. Poiché quella singola identità utente era un membro di dominio di un dominio che non esisteva più, nessuno aveva il permesso di amministrare Sql Server.
Ho effettuato l'accesso come amministratore del server locale che era stato presente al momento dell'installazione di SQL Server, ma sebbene ciò mi permettesse di accedere a Management Studio, ho rapidamente scoperto che BUILTIN \ Administrators aveva solo il ruolo di server "pubblico".
Dopo molte ricerche e sperimentazioni, mi sono imbattuto in un articolo che fornisce le specifiche dell'accesso per utente singolo http://technet.microsoft.com/en-us/library/ms180965.aspx :
C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn
C:\...>sqlservr.exe -m
Per prepararsi a questo passaggio, è necessario chiudere il server SQL (che viene eseguito per impostazione predefinita nella maggior parte dei casi). Utilizzare Gestione configurazione SQL per arrestare "SQL Server".
Quindi, al prompt dei comandi, accedere al percorso del file di programma (o equivalente sul computer) ed emettere il comando "sqlservr.exe -m". Se vedi un flusso di attività registrato nel tuo prompt dei comandi, hai esito positivo. Se non si avvia, probabilmente SQL Server è già in esecuzione. Spegnerlo.
Consentire all'istanza per utente singolo di collegare i propri database. Al termine dell'attività del registro, aprire Management Studio. Sarai automaticamente in modalità utente singolo, e quindi qualsiasi account tu rappresenti sarà un amministratore di sistema. Usa questo potere per regolare gli accessi di sicurezza e i ruoli del server.
Nel mio caso, ho dovuto ricreare gli account di dominio nel nuovo dominio, quindi eliminare i loro omonimi in SQL Server e ricostruirli (a causa della situazione SID / GUID), riassegnando le autorizzazioni a determinati database, se necessario.