não é possível adicionar um usuário à função sysadmin no SQL Server

9

Estou usando o SQL Server 2008 Management Studio. A conta de logon atual pertence ao grupo de administradores locais da máquina. Estou usando o modo Segurança Integrada do Windows no SQL Server 2008.

Meu problema é, depois de fazer login no SQL Server Management Studio, seleciono meu nome de login em Security / Logins, selecione a guia Server Roles e selecione o último item - sysadmin para me tornar pertencente a esse grupo / função, mas diz que não tenho permissão suficiente. Alguma ideia do que está errado? Eu acho que o administrador local deve ser capaz de fazer qualquer coisa. : -)

    
por George2 01.08.2009 / 14:07

6 respostas

6

O login da sessão em que você tenta definir permissões deve ter permissões.

Então, o login que você está usando é um administrador local? Isso significa que o grupo de administradores local não possui direitos suficientes.

A GUI também executará isso sp_addsrvrolemember . Embora isso diga

Requires membership in the role to which the new member is being added.

Portanto, o grupo de administração local não é membro do sysadmin.

Editar:

Para resolver: use um login que tenha direitos. você pode encontrar um usando sp_helpsrvrolemember

    
por 01.08.2009 / 14:12
3

SQL Server 2008 no longer adds the BUILTIN\Administrators as members of the sysadmin fixed server role

Isso é verdade, MAS, nesse caso, você pode se recuperar dessa situação iniciando o Serviço do SQL Server no modo de usuário único (modo de emergência) e qualquer administrador local poderá fazer logon.

Veja o MSDN .

    
por 22.02.2010 / 15:41
3

Em um outro artigo bom Solução de problemas: Conectando-se ao SQL Server quando os administradores do sistema estão bloqueados , o autor nos diz que tudo o que precisamos fazer para recuperar o controle do nosso SQL Server é

"Start the instance of SQL Server in single-user mode by using either the -m or -f options. Any member of the computer's local Administrators group can then connect to the instance of SQL Server as a member of the sysadmin fixed server role."

Infelizmente, o que significa começar no modo de usuário único não é uma questão intuitiva. Além disso, pelo menos na minha experiência, a participação no grupo de Administradores locais do meu computador não concedeu status sysadmin à minha conta de "usuário".

Esta história tinha começado quando resolver um problema de associação no meu domínio por um servidor não-DC (consequência da mudança do ISP), eu reconstruí o DC no Windows Server 2008 R2 a partir de 2008. Isso resolveu alguns problemas menores, mas não abordou a questão da adesão pelo servidor errante. Levou uma correção sugerida no ServerFault para conseguir isso (no meu caso, era uma questão de redefinir o winsock e o tcpip).

O SQL Server 2008 reside nesse segundo servidor, agora um membro do domínio. Aqui está o problema. Como alguém aponta no ServerFault, é comum pressionar o botão "deixar o usuário atual tornar-se sysadmin" ao instalar o Server 2008. Também é comum não considerar mais ninguém. Como essa identidade de usuário único era um membro de domínio de um domínio que não existia mais, ninguém tinha permissão para administrar o Sql Server.

Eu fiz logon como administrador do servidor local que existia quando o Sql Server foi instalado, mas embora isso me permitisse acesso ao Management Studio, descobri rapidamente que BUILTIN \ Administrators tinha apenas a função de servidor "público".

Depois de muita pesquisa e experimentação, deparei-me com um artigo que fornecia as especificidades do logon de usuário único [ link :

C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn 
C:\...>sqlservr.exe -m

Para se preparar para essa etapa, você deve encerrar o Sql Server (que é executado por padrão na maioria dos casos). Use o SQL Configuration Manager para parar o "Sql Server".

Em seguida, em um prompt de comando, navegue até o local desse arquivo de programa (ou equivalente em sua máquina) e emita o comando "sqlservr.exe -m". Se você vir um fluxo de atividade registrado no seu prompt de comando, você está tendo sucesso. Se não for iniciado, você provavelmente já terá o SQL Server em execução. Desligue.

Permitir que a instância de usuário único anexe seus bancos de dados. Quando a atividade de log cessar, abra o Management Studio. Você estará automaticamente no modo de usuário único e, portanto, qualquer conta que você represente será um administrador de sistema. Use esse poder para ajustar logins de segurança e funções de servidor.

No meu caso, tive que recriar as contas de domínio no novo domínio, excluí-las no SQL Server e reconstruí-las (devido à situação do SID / GUID), reatribuindo permissões a bancos de dados específicos, conforme necessário.

    
por 31.05.2010 / 21:09
2

Por padrão, o SQL adiciona o grupo BUILTIN \ Administrators à função sysadmin, o que significa que qualquer administrador NT local é automaticamente um sysadmin SQL. No Vista, por causa do UAC, você deve executar o modo 'como Administrador' para se beneficiar desse privilégio.

  • Se você estiver no Vista, execute a ferramenta cliente (SSMS) 'como administrador' e tente adicionar a si mesmo como administrador de sistema.
  • Se o grupo BUILTIN \ Administrators foi removido da função sysadmin acidentalmente, você deverá efetuar login com outro login sysadmin. Se não houver nenhum outro login sysadmin, você deve logar com a autenticação SQL como sa e usar a senha sa que foi configurada durante a configuração. Uma vez logado como um membro do sysadmin, o anúncio BUILTIN \ Admisnitrators volta para a função sysadmin. Se os logins do SQL estiverem desativados, então parabéns, você acabou de se bloquear da instalação do SQL.
  • Se o grupo BUILTIN \ Administrators foi removido intencionalmente da função sysadmin (conforme KB932881 ), você está tentando invadir o sistema para o qual você não tem permissão.
por 01.08.2009 / 17:56
1

Por padrão, o SQL Server 2008 não adiciona mais os BUILTIN \ Administrators como membros da função de servidor fixa sysadmin. Quando você passa pelo instalador, ele pergunta qual conta ou contas devem ter direitos sysadmin. Há um botão que basicamente diz "faça-me um sysadmin", que irá adicionar a conta do usuário fazendo a instalação como um administrador de sistema.

Se eles não adicionaram nenhum outro usuário como sysadmins, somente esse usuário é atualmente um sysamdin. Você precisará fazer com que essa pessoa faça o login no SQL Server e conceda os direitos sysadmin dos DBAs.

    
por 03.08.2009 / 03:05
0

Eu refleti sobre o mesmo problema depois de uma nova instalação até que eu registrei o servidor, no SQL Server 2008, então tudo correu como deveria

    
por 02.01.2010 / 08:59