Instalei o SQL Server 2008 R2 em minha máquina local. Mas, não consigo criar um novo banco de dados por causa de direitos (ou falta de).
"CRIAR PERMISSÃO DE BANCO DE DADOS NEGADA"
Então, tentei atribuir os privilégios de administrador ao meu login atual
"O usuário não tem permissão para realizar esta ação."
Também tentei criar um novo login que teria privilégios de administrador, mas sem sorte. Como concedo a mim mesmo direitos de administrador para criar um banco de dados? Posso reinstalar, mas prefiro não fazê-lo.
sql
sql-server
sql-server-2008
ssms
sqlcmd
SkonJeet
fonte
fonte
Respostas:
Sim - parece que você se esqueceu de se adicionar à função sysadmin ao instalar o SQL Server. Se você for um administrador local em sua máquina, esta postagem de blog pode ajudá-lo a usar o SQLCMD para colocar sua conta no grupo sysadmin do SQL Server sem precisar reinstalar. É uma brecha de segurança no SQL Server, se você quer saber, mas vai te ajudar neste caso.
fonte
Abra uma janela de prompt de comando. Se você já tiver uma instância padrão do SQL Server em execução, execute o seguinte comando no prompt de comando para interromper o serviço do SQL Server:
Agora vá para o diretório onde o SQL server está instalado. O diretório pode, por exemplo, ser um destes:
Descubra seu diretório MSSQL e
CD
nele como tal:Agora execute o seguinte comando para iniciar o SQL Server no modo de usuário único. Como
SQLCMD
está sendo especificado, apenas umaSQLCMD
conexão pode ser feita (de outra janela do prompt de comando).Agora, abra outra janela de prompt de comando com o mesmo usuário que iniciou o SQL Server no modo de usuário único acima e, nela, execute:
E pressione Enter. Agora você pode executar instruções SQL na instância do SQL Server em execução no modo de usuário único:
Fonte .
ATUALIZADO Não se esqueça do ponto-
ALTER SERVER ROLE [sysadmin] ADD MEMBER [<<DOMAIN\USERNAME>>];
e- vírgula depois e não adicione ponto-e-vírgula extra depoisGO
ou o comando nunca será executado.fonte
ALTER SERVER ROLE
. por exemploALTER SERVER ROLE [sysadmin] ADD MEMBER [domain\username]
GO;
no finalAdotei um banco de dados SQL 2012 em que não era um administrador de sistema, mas sim um administrador da máquina. Usei o SSMS com "Executar como administrador", adicionei minha conta do NT como um login SQL e configurei a função do servidor para sysadmin. Sem problemas.
fonte
Aqui está um script que afirma ser capaz de corrigir isso.
Obtenha direitos de administrador para seu SQL Server Express local com este script simples
Baixe o link para o script
Observação: você precisará fornecer ao arquivo BAT um 'Nome da instância' (provavelmente será 'MSSQLSERVER' - mas pode não ser): você pode obter o valor executando primeiro o seguinte no "Console de gerenciamento do Microsoft SQL Server ":
Em seguida, copie o resultado para usar quando o arquivo BAT solicitar 'nome da instância SQL'.
fonte
Microsoft ® Windows Based Script Host
caso contrário, este vodu não funcionará (eu mapeei o meu para notepad.exe).A Microsoft tem um artigo sobre esse problema. Ele passa por tudo passo a passo.
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/connect-to-sql-server-when-system-administrators-are-locked-out
Resumindo, envolve iniciar a instância de sqlserver
-m
como todas as outras respostas sugerem. No entanto, a Microsoft fornece instruções um pouco mais detalhadas.fonte
Na verdade, é suficiente adicionar -m aos parâmetros de inicialização no Sql Server Configuration Manager, reiniciar o serviço, ir para ssms e adicionar a caixa de seleção sysadmin em sua conta e remover -m restart novamente e usar normalmente.
Opções de inicialização do serviço Database Engine
fonte