Quero escrever um script para criar um admin
usuário (com abcd
senha) no SQL Server Express. Também quero atribuir admin
direitos totais a este usuário .
fonte
Quero escrever um script para criar um admin
usuário (com abcd
senha) no SQL Server Express. Também quero atribuir admin
direitos totais a este usuário .
Com base na sua pergunta, acho que você pode estar um pouco confuso sobre a diferença entre um usuário e um login . Um Login é uma conta no SQL Server como um todo - alguém que é capaz de fazer login no servidor e que possui uma senha. Um usuário é um login com acesso a um banco de dados específico.
Criar um Login é fácil e deve (obviamente) ser feito antes de criar uma conta de usuário para o login em um banco de dados específico:
CREATE LOGIN NewAdminName WITH PASSWORD = 'ABCD'
GO
Aqui está como você cria um usuário com privilégios db_owner usando o login que você acabou de declarar:
Use YourDatabase;
GO
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'NewAdminName')
BEGIN
CREATE USER [NewAdminName] FOR LOGIN [NewAdminName]
EXEC sp_addrolemember N'db_owner', N'NewAdminName'
END;
GO
Agora, Logins são um pouco mais fluidos do que pareço acima. Por exemplo, uma conta de Login é criada automaticamente (na maioria das instalações do SQL Server) para a conta do Administrador do Windows quando o banco de dados é instalado. Na maioria das situações, eu apenas uso isso quando estou administrando um banco de dados (ele tem todos os privilégios).
No entanto, se você for acessar o SQL Server a partir de um aplicativo, deverá configurar o servidor para o "Modo Misto" (logins do Windows e do SQL) e criar um Login conforme mostrado acima. Em seguida, você "GRANT" privilégios para esse login SQL com base no que é necessário para seu aplicativo. Veja aqui para mais informações.
ATUALIZAÇÃO: Aaron aponta o uso de sp_addsrvrolemember para atribuir uma função preparada à sua conta de login. Esta é uma boa ideia - mais rápida e fácil do que conceder privilégios manualmente. Se você pesquisar no Google, verá muitos links. No entanto, você ainda deve entender a diferença entre um login e um usuário.
Direitos de administrador totais para todo o servidor ou um banco de dados específico? Acho que os outros responderam por um banco de dados, mas pelo servidor:
Pode ser necessário deixar de fora os parâmetros CHECK_ dependendo de qual versão do SQL Server Express você está usando (quase sempre é útil incluir essas informações em sua pergunta).
fonte
Se você deseja criar um script genérico, pode fazê-lo com uma instrução Execute com um Replace com seu nome de usuário e nome do banco de dados
fonte
Você pode usar:
Para criar o login (veja aqui para mais detalhes).
Então você pode precisar usar:
Para criar o usuário associado ao login para o banco de dados específico, você também deseja conceder acesso a ele.
(Veja aqui para detalhes)
Você também pode usar:
Para configurar as permissões para os esquemas aos quais você atribuiu os usuários.
(Veja aqui para detalhes)
Dois outros comandos que você pode achar úteis são ALTER USER e ALTER LOGIN .
fonte
esta ajuda completa para rede usando:
fonte
Na semana passada, instalei o Microsoft SQL Server 2014 Developer Edition na minha dev box e imediatamente me deparei com um problema que nunca tinha visto antes.
Eu instalei várias versões do SQL Server inúmeras vezes e geralmente é um procedimento indolor. Instale o servidor, execute o console de gerenciamento, é simples assim. No entanto, após concluir esta instalação, quando tentei fazer login no servidor usando SSMS, recebi um erro como este abaixo:
Erro de login do SQL Server 18456 “Falha de login do usuário ... (Microsoft SQL Server, Erro: 18456)” Estou acostumado a ver esse erro se digitar a senha errada ao fazer login - mas isso só se estiver usando o modo misto ( Autenticação Windows e SQL). Nesse caso, o servidor foi configurado apenas com a autenticação do Windows e a conta do usuário era minha. Ainda não sei por que não adicionei meu usuário à função SYSADMIN durante a configuração; talvez eu tenha perdido uma etapa e esquecido de adicioná-la. De qualquer forma, nem toda esperança foi perdida.
A maneira de corrigir isso, se você não puder fazer logon com nenhuma outra conta no SQL Server, é adicionar seu logon de rede por meio de uma interface de linha de comando. Para que isso funcione, você precisa ser um administrador no Windows para o PC ao qual está conectado.
Pare o serviço MSSQL. Abra um prompt de comando usando Executar como administrador. Mude para a pasta que contém o arquivo EXE do SQL Server; o padrão para o SQL Server 2014 é “C: \ Arquivos de programas \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ Binn”. Execute o seguinte comando: “sqlservr.exe –m”. Isso iniciará o SQL Server no modo de usuário único. Ao deixar este Prompt de Comando aberto, abra outro, repetindo as etapas 2 e 3. Na segunda janela do Prompt de Comando, execute “SQLCMD –S Server_Name \ Instance_Name”. Nesta janela, execute as seguintes linhas, pressionando Enter após cada uma: 1
Reinicie o serviço MSSQL. É isso aí! Agora você deve conseguir fazer login usando seu login de rede.
fonte