O SQL Server Day nasceu da idéia de reunir no Brasil um time com os melhores profissionais de SQL Server e espalhar o conhecimento dos mesmos para toda a comunidade de maneira gratuita e em português.
Se você é estudante, desenvolvedor, técnico em infraestrutura, DBA, gerente de TI, ou é de alguma área similar sinta-se convidado para o 1º SQL Server Day!
A primeira edição será online (webcasts) e ocorrerá no dia 07/11/2009. Contará com mais de 12 horas de palestras.
Se increvam hoje mesmo nos links a seguir! Será uma verdadeira tempestade cerebral de SQL Server!
Parte I
09:30 – 10:00 – Abertura do Evento
10:00 – 11:00 – Resource Governor e Policy Management
11:00 – 12:00 – Entenda porque o Query Optimizer é mais esperto que você
12:00 – 13:00 – SQL Azure Database
13:00 – 14:00 – Novos Recursos de Desenvolvimento do SQL Server 2008 Parte II 14:00 – 15:00 – Compressão de Dados e Backup no Microsoft SQL Server 2008
15:00 – 16:00 – Entendendo TDE (Transparent Data Encryption)
16:00 – 17:00 – Entendendo as Common Table Expressions (CTE)
17:00 – 18:00 – Powershell Coletando e Analisando os Dados
18:00 – 19:00 – Solução Avançada de Problemas com Extended Events Parte III
19:00 – 20:00 – Disaster Recovery – Backup, Restore e Tópicos Avançados
20:00 – 21:00 – Integre seu código .NET com o SQL Server usando o CLR
21:00 – 22:00 – Analise de Desempenho utilizando as Estatísticas de Espera
Você manda periodicamente um informativo por email para todos os contatos cadastrados em uma tabela de contatos, com nome e email. Só que você tem notado que muitos emails voltam por erro de digitação na hora do cadastro, produzindo algo como HOITMAIL ao invéz de HOTMAIL por exemplo. Você precisa corrigir isso, mas como fazer ?
Há duas funções no SQL que podem nos ajudar muito nesse caso. SOUNDEX e DIFFERENCE.
Ambas avaliam semelhança de strings, mas vamos entender melhor na prática.”
–
Tiago Souza
Para enviar os e-mails basta preencher os campos do vbscript com os dados do seu ambiente. O script está comentado e é auto-explicativo. Basta alterar os dados, salvar e dar um duplo clique para enviar.
Conclusão
Esse documento mostra como enviar e-mails de uma lista pré-definida de forma simples e funcional utilizando vbscript e banco de dados MS Access.
BAIXE EM PDF
Autores:
Tiago Vieira Ferreira de Souza éidealizador do site Portal Tecnologia, atua desde 2004 como Administrador de Redes, com foco em tecnologias Microsot. Formado em Tecnologia em Redes de Computadores, MCP Windows Server 2003, MCTS Windows Vista.
Site: http://www.portaltecnologia.net/
E-mail: contato@tiagosouza.net
Marcelo Ramos Borges de OliveiraéMCP na plataforma .NET desde 2007, atua a aproximadamente 10 anos no mercado de TI. Atualmente é Gerente de TI em empresa de médio porte com foco em Desenvolvimento Web. Site: http://www.marceloramos.net/Blog
E-mail: mramos.oliveira@gmail.com
Como impedir múltiplos logons em uma rede com Active Directory
Introdução
O processo que vamos descrever aborda como impedir que o usuário possa se logar em mais de uma estação de trabalho com o mesmo login de rede do domínio.
Não se trata do recurso do Active Directory (Fig1) onde podemos limitar o login a uma ou mais estações, pois nesse caso o bloqueio fica limitado a uma lista pré-definida de máquinas (Fig2). A grande desvantagem é que caso seja necessária a troca de máquinas, geraria trabalho manual para o administrador de rede, que teria que alterar a lista a cada vez que isso acontecesse.
Fig1 – Propriedade de Account do Active Directory
Fig2 – Lista com computadores
Esse documento tem como finalidade explicar como limitar mais de um login em qualquer máquina da rede de forma automática, não havendo necessidade de associar determinada máquina a um usuário específico. Para isso vamos utilizar o Active Directory, GPOs (Group Policiy Objects), Scripts de Logon e Logoff e banco de dados SQL Express.
Pré-requisitos
Active Directory com domínio previamente configurado
Estações Windows 2000 ou superior
SQL Express (ferramenta gratuita, podendo ser instalada no mesmo servidor que hospeda o Active Directory. Em nosso exemplo trabalhamos com a versão 2005)
GPMC (Group Policy Management Console – ferramenta gratuita para edição de políticas de grupo)
Scripts de Logon, Logoff e SQL
Para baixar os scripts de Logon, Logoff e SQL, clique no link abaixo. Os scripts estão comentados para facilitar o entendimento.
Nos scripts login.vbs e logoff.vbs, onde aparece a string de conexão com o banco de dados, será preciso trocar os *** pelos dados reais de seu ambiente.
Password = Senha do usuário configurado no campo User ID
Data Source = Nome do servidor ( Geralmente MAQUINA\SQLEXPRESS onde MAQUINA é o nome do servidor onde foi instalado o SQL Express )
Compartilhando os Scripts
Vamos trabalhar com dois vbscripts, um de Logon e outro de Logoff. Eles devem ficar em um local da rede que o usuário tenha acesso de execução, para isso sugerimos manter o padrão do Active Directory e utilizar o NETLOGON para esse fim.
Criação das GPOs
Vamos iniciar pela criação das GPOs com os scripts de Logon e Logoff. Para realizar este procedimento iremos utilizar o console de edição de políticas GPMC (Group Policy Management Console).
1 – Vamos abrir o GPMC para criarmos e editarmos nossa policie de scripts de logon e logoff. Clique em start > run > e digite “gpmc.msc” (sem as aspas)
2 – Vamos escolher em qual Unidade Organizacional vamos linkar a policy, clicamos com o botão direito em cima dela e selecionamos a opção “Create and Link a GPO Here…”
3 – Com o editor de policies aberto vamos expandir: User Configuration > Windows Settings > selecionar Scripts (Logon/Logoff)
4 – Vamos iniciar dando um duplo clique em Logon. A janela de configuração irá se abrir e vamos clicar em Add e passar o caminho do compartilhamento criado no NETLOGON, no nosso exemplo \\SC-0000001\NETLOGON\LogonUnico\Login.vbs
5 – Vamos agora abrir o Logoff e fazer o mesmo procedimento, só que agora buscando o script de logoff no mesmo compartilhamento \\SC-0000001\NETLOGON\LogonUnico\Logoff.vbs
6 – Pronto, a política já está criada. Podemos forçar sua execução com o comando “gpupdate /force”.
SQL Express
O controle dos usuários logados é feito através de um registro incluído no banco de dados assim que ele efetua o logon (login.vbs).
Será necessário:
- Instalar o SQL Express
- Criar um banco de dados e nomeá-lo como LOGON
- Criar a tabela USUARIOS ( LogonUnico.sql )
Banco e ferramentas de administração podem ser encontrados nos links abaixo:
O único problema encontrado foi nas sessões de terminal services. Quando há queda ou congelamento da sessão não é executado o logoff que por sua vez não limpa o registro do usuário na base.
Para limpar o registro manualmente execute no SQL um dos seguintes comandos:
/* DELETANDO REGISTRO POR USUARIO */
DECLARE @USUARIO VARCHAR(30)
SET @USUARIO = ‘USUARIO’ — COLOQUE O NOME DO USUARIO AQUI
DELETE FROM DBO.USUARIOS WHERE USUARIO = @USUARIO
/* DELETANDO REGISTRO POR MAQUINA */
DECLARE @MAQUINA VARCHAR(30)
SET @MAQUINA = ‘MAQUINA’ — COLOQUE O NOME DA MAQUINA AQUI
DELETE FROM DBO.USUARIOS WHERE MAQUINA = @MAQUINA
/* DELETANDO TODOS OS REGISTROS */
DELETE FROM DBO.USUARIOS
Conclusão
O procedimento adotado nesse documento é uma alternativa simples aos softwares de mercado, pagos ou não, como LimitLogin da própria Microsoft. Não existe ferramenta de monitoria, ficando a manutenção e melhoria do processo por conta de cada administrador.
Autores:
Tiago Vieira Ferreira de Souza éidealizador do site Portal Tecnologia, atua desde 2004 como Administrador de Redes, com foco em tecnologias Microsot. Formado em Tecnologia em Redes de Computadores, MCP Windows Server 2003, MCTS Windows Vista.
Site: http://www.portaltecnologia.net/
E-mail: contato@tiagosouza.net
Marcelo Ramos Borges de OliveiraéMCP na plataforma .NET desde 2007, atua a aproximadamente 10 anos no mercado de TI. Atualmente é Gerente de TI em empresa de médio porte com foco em Desenvolvimento Web. Site: http://www.marceloramos.net/Blog
E-mail: mramos.oliveira@gmail.com
Há ocasiões em que precisamos mostrar palavras salvas originalmente com acentos, sem nenhum tipo de acento, ou mesmo padronizar a base, dando replace nos dados.
Para isso vou postar uma função que faz esse trabalho de “limpar” os acentos, recebendo como parâmetro uma string.
Recent Comments