NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 06 : 10
Quer receber novidades e e-books gratuitos?
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »
SQL Server 2005 - CURSO COMPLETO
Autor: Júlio Battisti
Lição 099 - Capítulo 06 - Criando logins com comandos T-SQL

Vamos aprender a criar logins utilizando comandos T-SQL, na janela de execução de comandos do SQL Server Management Studio.

Utilizaremos comandos T-SQL para adicionar os logins da Tabela 6.8. Adicionaremos estes logins à instância SERVIDOR\SQL2005, a qual está no modo de autenticação SQL Server and Windows Authentication mode (caso você não lembre como alterar o modo de autenticação de uma instância do SQL Server 2005, volte ao início do Capítulo e revise o tópico sobre alteração do modo de autenticação. Depois, altere o modo de autenticação da instância SERVIDOR\SQL2005, para SQL Server and Windows Authentication mode). Para senha dos usuários do próprio SQL Server, isto é, usuários que não são de um domínio do Windows ou contas locais de um servidor Windows, utilizaremos a senha “senha123” e como Banco de Dados padrão o Banco de Dados AdventureWorks.

Tabela 6.8 Logins a serem adicionados à instância SERVIDOR\SQL2005.

Nome da conta Tipo Já existe? É?
jose Windows Sim Usuário
maria Windows Sim Usuário
pedro Windows Sim Usuário
paulo Windows Sim Usuário
jovina Windows Sim Usuário
grupo1 Windows Sim Grupo
grupo2 Windows Sim Grupo
sqluser1 SQL Server Não Usuário
sqluser2 SQL Server Não Usuário

Ao adicionarmos logins, temos que considerar os dois modos de segurança: Windows Authentication mode e SQL Server and Windows Authentication mode. No caso de estarmos adicionando permissão de login a um usuário ou grupo do Windows, utilizamos o comando sp_grantlogin. Com este comando garantimos a um usuário ou grupo já existente no Windows, o direito de login no servidor SQL Server 2005. Para o modo de autenticação SQL Server and Windows Authentication mode, em que podemos criar novos logins no próprio SQL Server, utilizamos o comando sp_addlogin. Na tabela 6.9 temos um resumo destes comandos.

Tabela 6.9 Comandos para adicionar logins.

Comando Utilização
sp_grantlogin Para adicionar logins do domínio do Windows 2000. Podemos adicionar usuários ou grupos. Utilizamos o formato DOMÍNIO\nome ou SERVIDOR\nome.
sp_addlogin Para adicionar novos logins do SQL Server 2005, para o caso de estarmos utilizando o modo de segurança SQL Server and Windows Authentication mode.

Sintaxe para o comando sp_grantlogin:

exec sp_grantlogin ‘DOMÍNIO\nome’

ou

exec sp_grantlogin [DOMÍNIO\nome]

ou

exec sp_grantlogin ‘NOME_DO_SERVIDOR\nome’

Por exemplo, para adicionarmos o usuário chico, do Domínio GROZA, utilizamos o seguinte comando:

exec sp_grantlogin ‘GROZA\chico’

ou

exec sp_grantlogin [GROZA\chico]

Algumas observações sobre o comando sp_grantlogin:

® sp_grantlogin não pode ser executado como parte de uma transação definida pelo usuário ou por um aplicativo que o usuário está utilizando.

® Somente membros das roles System Administrators (sysadmin) e Security Administrators (securityadmin) têm permissão, por padrão, para utilizar o comando sp_grantlogin.

Para o nosso exemplo, descrito na Tabela 6.8, utilizaremos o comando sp_grantlogin para adicionar os usuários: jose, maria, pedro, paulo, jovina, grupo1 e grupo2.

Podemos remover a permissão de login para um usuário ou grupo do Windows, utilizando o comando sp_revokelogin.

Sintaxe para o comando sp_revokelogin:

exec sp_revokelogin ‘DOMÍNIO\nome’

ou

exec sp_revokelogin [DOMÍNIO\nome]

ou

exec sp_revokelogin ‘Nome_Do_Servidor\nome’

Por exemplo, para removermos a permissão de login do usuário chico, do Domínio GROZA, utilizamos o seguinte comando:

exec sp_revokelogin ‘GROZA\chico’

ou

exec sp_revokelogin [GROZA\chico]

Algumas observações sobre o comando sp_revokelogin:

® Ao removermos a permissão de login, o usuário não poderá mais conectar-se com o servidor SQL, a menos que um dos grupos aos quais o usuário pertença, tenha permissão de login. Lembre que o usuário sempre herda as permissões do grupo. Se o usuário pertencer a vários grupos que possuem permissão de login e a um único grupo que tem o login explicitamente negado, o usuário não poderá conectar-se com o servidor SQL. Lembre que negar (deny) sempre tem precedência sobre permitir.

® Somente membros das roles System Administrators (sysadmin) e Security Administrators (securityadmin) têm permissão, por padrão, para utilizar o comando sp_revokelogin.

Podemos negar, explicitamente, a permissão de login para um usuário ou grupo do Windows, utilizando o comando sp_denylogin. Neste caso, a conta do usuário ou grupo continua na lista de logins, porém com o direito de conexão com o servidor SQL, explicitamente negado.

Sintaxe para o comando sp_denylogin:

exec sp_denylogin ‘DOMÍNIO\nome’

ou

exec sp_denylogin [DOMÍNIO\nome]

ou

exec sp_denylogin ‘Nome_Do_Servidor\nome’

Por exemplo, para negarmos, explicitamente, a permissão de login do usuário chico, do Domínio GROZA, utilizamos o seguinte comando:

exec sp_denylogin ‘GROZA\chico’

ou

exec sp_denylogin [GROZA\chico]

Algumas observações sobre o comando sp_denylogin:

® sp_denylogin não pode ser executado como parte de uma transação definida pelo usuário ou por um aplicativo que o usuário está utilizando.

® Somente membros das roles System Administrators (sysadmin) e Security Administrators (securityadmin) têm permissão, por padrão, para utilizar o comando sp_denylogin.

® Para permitir que o usuário volte a se conectar, removendo o efeito de sp_denylogin, podemos utilizar sp_grantlogin.

Agora vamos tratar dos comandos para a adicionar e remover logins do próprio SQL Server, os quais podem ser utilizados, quando a instância do SQL Server 2005 estiver configurada para o modo de autenticação SQL Server and Windows Authentication mode.

Para adicionar um login do SQL Server 2005, podemos utilizar o comando sp_addlogin.

Sintaxe para o comando sp_addlogin, conforme descrito no Books OnLine:

sp_addlogin [ @loginame = ] ‘login’

[ , [ @passwd = ] ‘password’ ]

[ , [ @defdb = ] ‘database’ ]

[ , [ @deflanguage = ] ‘language’ ]

[ , [ @sid = ] sid ]

[ , [ @encryptopt = ] ‘encryption_option’ ]

Observe que podemos definir uma série de opções, tais como a senha (passwd), o Banco de Dados associado com o login (defdb), a linguagem associada com o login (deflanguage), um identificador de segurança único (sid) e a definição se a senha deve ou não ser criptografada ao ser armazenada no servidor SQL Server (encryptopt). Normalmente não especificamos o parâmetro sid, com isso o identificador único de segurança será gerado pelo próprio SQL Server 2005, no momento da criação do login. O sid é um número do tipo varbinary(16). Os valores possíveis para o parâmetro encryptopt estão descritos na Tabela 6.10.

Tabela 6.10 Valores do parâmetro encryptopt.

Valor Descrição
NULL A senha será criptografada. Este é o valor padrão.
skip_encryption A senha já está criptografada. O valor será gravado sem a necessidade de criptografá-lo novamente.
skip_encryption_old A senha deve ser criptografada de acordo com versões anteriores do SQL Server. O valor será gravado sem criptografá-lo novamente. Esta opção normalmente é utilizada durante a fase de migração de versões anteriores.

Por exemplo, para adicionarmos o usuário flavio1, com senha em branco e associado ao Banco de Dados master, que é o Banco de Dados padrão, quando nenhum outro for definido, utilizamos o seguinte comando:

exec sp_addlogin ‘flavio1’

Ao executar o comando anterior, você receberá uma mensagem de erro, informando que a senha não atende os requisitos de complexidade. Aqui temos uma demonstração de como o SQL Server 2005 foi projetado, tendo a segurança como uma das principais diretivas. Por padrão, não é possível adicionar um login com senha em branco (o que era possível nas versões anteriores do SQL Server, inclusive para a conta sa, a qual podia ter uma senha em branco). Como não usei  a opção @passwd, a senha é definida como em branco, o que não é aceito pelas políticas padrão de segurança do SQL Server 2005.

Agora vamos adicionar um usuário chamado luciano, com uma senha nene e associado ao Banco de Dados Clientes:

exec sp_addlogin ‘luciano’, ‘nene’, ‘Clientes’

Algumas observações sobre o comando sp_addlogin:

® sp_addlogin não pode ser executado como parte de uma transação definida pelo usuário ou por um aplicativo que o usuário está utilizando.

® Somente membros das roles System Administrators (sysadmin) e Security Administrators (securityadmin) têm permissão, por padrão, para utilizar o comando sp_addlogin.

Para o nosso exemplo, descrito na Tabela 6.8, utilizaremos o comando sp_addlogin, para adicionar os usuários: sqluser1 e sqluser2.

Para excluirmos um login do SQL Server, podemos utilizar o comando sp_droplogin.

Sintaxe para o comando sp_droplogin.:

exec sp_droplogin. ‘nome’

Por exemplo, para excluirmos o usuário luciano, podemos utilizar o seguinte comando:

exec sp_droplogin. ‘luciano’

Algumas observações sobre o comando sp_droplogin.:

® Somente membros das roles System Administrators (sysadmin) e Security Administrators (securityadmin) têm permissão, por padrão, para utilizar o comando sp_droplogin.

® Caso o login que está sendo excluído esteja adicionado como usuário de algum Banco de Dados, o login não poderá ser excluído. Primeiro precisamos remover o login da lista de usuários, utilizando o comando sp_drpouser, o qual aprenderemos a utilizar mais adiante.

® Os seguintes logins não poderão ser excluídos:

1.            O login de administração sa.

2.            Um login que esteja atualmente conectado com o servidor SQL Server.

® O comando sp_droplogin deverá checar todos os Bancos de Dados para verificar se o login que está sendo excluído, não está adicionado à lista de usuários com permissão de acesso ao Banco de Dados. Por isso, para que este comando possa ser executado com sucesso, as seguintes condições devem ser atendidas:

1.            O usuário logado, que está executando sp_droplogin, deve ter permissão de acesso aos Bancos de Dados ou;

2.            A conta guest deve estar habilitada a acessar o Banco de Dados.

Ao criarmos novos logins no SQL Server, devemos levar os seguintes fatos em consideração:

1. Um login não pode conter o caractere de barra invertida \ como parte do nome. Não confundir com a barra invertida utilizada para separar o nome do domínio do nome do usuário.

2. Logins e senhas podem conter até 128 caracteres, incluindo letras, símbolos e dígitos.

3. Não podemos adicionar um login com o mesmo nome de um login reservado, como por exemplo sa ou public.

4. O nome de login não pode conter o valor NULL ou ser uma string vazia ‘ ‘.

Agora que já aprendemos os diversos comandos envolvidos com logins, podemos criar os logins indicados na Tabela 6.8. Lembrando que estes logins serão criados na instância SERVIDOR\SQL2005.

Exemplo prático: Para criar os logins indicados na Tabela 6.8, siga os passos indicados a seguir (no exemplo a seguir, criarei os logins na instância SERVIDOR\SQL2005. Substitua este nome pelo nome da instância que você estiver utilizando, para acompanhar este exemplo):

1. Se você não estiver com o SQL Server Management Studio, abra-o.

2. Na janela Object Explorer, localize a instância SERVIDOR\SQL2005  e dê um clique no sinal de +, ao lado da instância, para exibir as opções disponíveis..

3. Clique com o botão direito do mouse na instância SERVIDOR\SQL2005 e, no menu de opções que é exibido, clique em New Query.

Será aberta a janela para execução de comandos T-SQL, a qual você já utilizou diversas vezes neste livro.

4. Para criar os logins indicados na Tabela 6.8, digite os seguintes comandos:

— Utilizo sp_grantlogin para adicionar
— usuários do Windows

exec sp_grantlogin ‘SERVIDOR\jose’
exec sp_grantlogin ‘SERVIDOR \maria’
exec sp_grantlogin ‘SERVIDOR \pedro’
exec sp_grantlogin ‘SERVIDOR \paulo’
exec sp_grantlogin ‘SERVIDOR \jovina’
exec sp_grantlogin ‘SERVIDOR \grupo1’
exec sp_grantlogin ‘SERVIDOR \grupo2’

— Agora utilizo sp_addlogin para adicionar
— logins do SQL Server 2005

exec sp_addlogin ‘sqluser1’, ‘senha123’, ‘AdventureWorks
exec sp_addlogin ‘sqluser2’, ‘senha123’, ‘AdventureWorks’

5. Pressione Ctrl+E para executar o comando.

6. O comando é executado com sucesso e a seguinte mensagem é exibida:

Command(s) completed successfully.

6. Agora vamos alterar o Banco de Dados padrão para os usuários do Windows. Lembrando que, como não foi definido o banco de dados padrão, é utilizado como padrão o banco de dados master. Para alterá-lo, utilizamos o comando sp_defautldb, com a seguinte sintaxe:

exec sp_defaultdb ‘usuário’, ‘Banco de Dados’

7. Para alterar o Banco de Dados padrão para os usuários do Windows, utilize os seguintes comandos:

exec sp_defaultdb ‘SERVIDOR\jose’, ‘AdventureWorks’
exec sp_defaultdb ‘SERVIDOR\maria’, ‘AdventureWorks’
exec sp_defaultdb ‘SERVIDOR\pedro’, ‘AdventureWorks’
exec sp_defaultdb ‘SERVIDOR\paulo’, ‘AdventureWorks’
exec sp_defaultdb ‘SERVIDOR\jovina’, ‘AdventureWorks’

8. Pressione Ctrl+E para executar o comando.

9. O comando é executado com sucesso e a seguinte mensagem é exibida:

Command(s) completed successfully.

10.   Pronto, os logins da Tabela 6.8 foram adicionados e o Banco de Dados padrão alterado para o banco de dados AdventureWorks.

11.   Feche a janela de Execução de Comandos T-SQL. Surge uma mensagem perguntando se você deseja salvar os comandos digitados, dê um clique em No.

Exercício: Usando os conhecimentos apresentados neste tópico, crie os logins indicados na Tabela 6.11. É importante que você faça este exercício, pois utilizaremos estes logins, nos demais exemplos deste capítulo.

Tabela 6.11 Logins a serem adicionados.

Nome da conta Tipo Já existe? É?
user6 Windows Sim Usuário
user7 Windows Sim Usuário
user8 Windows Sim Usuário
sqluser3 SQL Server Não Usuário
sqluser4 SQL Sever Não Usuário
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »

você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Capa da Universidade do Access

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp

Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2024 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI