impossibile aggiungere un utente al ruolo sysadmin in SQL Server


9

Sto usando SQL Server 2008 Management Studio. L'account di accesso corrente appartiene al gruppo di amministratori locali del computer. Sto usando la modalità di sicurezza integrata di Windows in SQL Server 2008.

Il mio problema è che, dopo l'accesso a SQL Server Management Studio, seleziono il mio nome di accesso in Sicurezza / accessi, quindi selezionare la scheda Ruoli server, quindi l'ultimo elemento - amministratore di sistema per farmi appartenere a questo gruppo / ruolo, ma dice che non ho abbastanza permessi. Qualche idea di cosa non va? Penso che l'amministratore locale dovrebbe essere in grado di fare qualsiasi cosa. :-)


questo è ciò che Microsoft fornisce su questo problema: msdn.microsoft.com/en-us/library/dd207004.aspx posso consigliare questo script: archive.msdn.microsoft.com/addselftosqlsysadmin/Release/…

Risposte:


6

L'accesso della sessione in cui si tenta di impostare le autorizzazioni deve disporre delle autorizzazioni.

Quindi, il login che stai usando è un amministratore locale? Ciò significa che il gruppo di amministratori locali non dispone di diritti sufficienti.

Anche la GUI eseguirà questo sp_addsrvrolemember . Anche se questo dice

Richiede l'appartenenza al ruolo a cui viene aggiunto il nuovo membro.

Pertanto, il gruppo di amministratori locali non è un membro di sysadmin.

Modificare:

Per risolvere: utilizzare un accesso con diritti. puoi trovarne uno usando sp_helpsrvrolemember


Qual è il tuo consiglio per risolvere il mio problema?
George2

Non sono sicuro se esistono soluzioni o soluzioni senza reinstallare nuovamente SQL Server 2008! :-(
George2

"Usa un accesso con diritti": come posso ottenere un elenco di accessi con autorizzazioni sufficienti?
George2

Grazie, trovo che l'unico membro elencato da EXEC sp_helpsrvrolemember 'sysadmin' si chiama sa, è un utente Windows? Non riesco a trovare un tale utente dall'elenco Utenti di Windows. Qualche idea?
George2

1
È un accesso SQL riservato, non un utente Windows. Nella mia installazione di prova di SQL 2008, viene elencato l'account che ha installato SQL Server.
gbn

4

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.


C'è anche un altro modo per impostare i parametri: apri servizio, gestore, seleziona il servizio e quindi le proprietà dal menu di scelta rapida. Nella scheda generale è presente una modifica "Avvia parametri". Digita lì i parametri necessari. Quindi avviare il servizio utilizzando il pulsante Start in quella pagina , i parametri impostati lì non sono permanenti e validi solo quando il servizio viene avviato dalla finestra di dialogo Proprietà.
ldsandon,

3

SQL Server 2008 non aggiunge più BUILTIN \ Administrators come membri del ruolo predefinito del server sysadmin

È vero, MA in quel caso è possibile ripristinare tale situazione avviando il servizio SQL Server in modalità utente singolo (modalità di emergenza) e qualsiasi amministratore locale sarà in grado di accedere.

Vedi MSDN .


2

Per impostazione predefinita, SQL aggiunge il gruppo BUILTIN \ Administrators al ruolo sysadmin, il che significa che qualsiasi amministratore NT locale è automaticamente un sysadmin SQL. Su Vista, a causa dell'UAC, è necessario eseguire in modalità "come amministratore" per beneficiare di questo privilegio.

  • Se sei su Vista, esegui lo strumento client (SSMS) "come amministratore", quindi prova ad aggiungerti come amministratore di sistema.
  • Se il gruppo BUILTIN \ Administrators è stato rimosso accidentalmente dal ruolo sysadmin, è necessario accedere con un altro accesso sysadmin. Se non è presente alcun altro accesso sysadmin, è necessario accedere con l'autenticazione SQL come sa e utilizzare la password sa impostata durante l'installazione. Una volta effettuato l'accesso come membro di sysadmin, ad BUILTIN \ Admisnitrators torna al ruolo di amministratore di sistema. Se gli accessi SQL sono disabilitati, quindi congratulazioni, ti blocchi semplicemente dall'installazione SQL.
  • Se il gruppo BUILTIN \ Administrators è stato rimosso intenzionalmente dal ruolo sysadmin (come da KB932881 ), stai tentando di hackerare il sistema per il quale non sei autorizzato.

Ciao Remus, sono confuso che durante il processo di installazione, non installo alcun passowrd per sa, c'è una password predefinita?
George2,

Un'altra confusione è, dall'esecuzione della procedura di archiviazione sp_helpsrvrolemember per trovare tutti gli utenti con ruolo sysadmin, solo sa è elencato, nessun altro utente dal gruppo di amministratori di macchine locali, qualche idea del perché?
George2,

Non esiste una password predefinita per sa. la password di sa viene impostata durante l'installazione, se è abilitata l'autenticazione mista. Dovrai chiedere all'amministratore del tuo database di concederti l'accesso se necessario.
Remus Rusanu,

"Se gli accessi SQL sono disabilitati, allora congratulazioni, ti blocchi semplicemente dall'installazione SQL." In tal caso, vedere la risposta di Jordi di seguito per avviare SQL Server in modalità utente singolo.
Michiel van Oosterhout,

1

Per impostazione predefinita, SQL Server 2008 non aggiunge più BUILTIN \ Administrators come membri del ruolo predefinito del server sysadmin. Quando si esegue l'installazione, viene richiesto quale account o account devono disporre dei diritti di amministratore di sistema. C'è un pulsante che dice sostanzialmente "fammi un amministratore di sistema" che aggiungerà l'account dell'utente che esegue l'installazione come amministratore di sistema.

Se non hanno aggiunto altri utenti come amministratori di sistema, solo quell'utente è attualmente un amministratore di sistema. È necessario che tale persona acceda a SQL Server e conceda i diritti di amministratore di sistema DBA.


0

Ho riflettuto sullo stesso problema dopo una nuova installazione fino a quando non ho registrato il server, su SQL Server 2008, quindi tutto è andato come dovrebbe

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.