<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Portal Tecnologia &#187; Banco de Dados</title>
	<atom:link href="http://www.portaltecnologia.net/category/banco-de-dados/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.portaltecnologia.net</link>
	<description>Seu portal em tecnologia da informação</description>
	<lastBuildDate>Mon, 23 Aug 2010 03:23:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>SQL Server Day &#8211; Eventos</title>
		<link>http://www.portaltecnologia.net/2009/10/23/sql-server-day-eventos/</link>
		<comments>http://www.portaltecnologia.net/2009/10/23/sql-server-day-eventos/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 14:49:10 +0000</pubDate>
		<dc:creator>Tiago Souza</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.portaltecnologia.net/?p=904</guid>
		<description><![CDATA[Fonte: http://www.sqlserverday.com.br/ &#8220;Sobre o evento 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 é [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sqlserverday.com.br/" target="_blank"><img class="alignnone size-full wp-image-905" title="sqlserverday" src="http://www.portaltecnologia.net/wp-content/uploads/2009/10/sqlserverday.JPG" alt="sqlserverday" width="307" height="71" /></a></p>
<p>Fonte: <a href="http://www.sqlserverday.com.br/" target="_blank">http://www.sqlserverday.com.br/</a></p>
<p><strong>&#8220;Sobre o evento</strong></p>
<p>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.</p>
<p>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!</p>
<p>A primeira edição será online (webcasts) e ocorrerá no dia 07/11/2009. Contará com mais de 12 horas de palestras.<br />
Se increvam hoje mesmo nos links a seguir! Será uma verdadeira tempestade cerebral de SQL Server!</p>
<p><strong>Como participar?</strong></p>
<p>Serão realizadas 3 sessões (veja a nossa agenda):</p>
<p>•<a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032430235&amp;EventCategory=4&amp;culture=en-US&amp;CountryCode=US" target="_blank">Inscrição para a parte I (09:00 as 14:00)</a><br />
•<a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032430237&amp;EventCategory=4&amp;culture=pt-BR&amp;CountryCode=BR" target="_blank">Inscrição para a parte II (14:00 as 19:00)<br />
</a>•<a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032430237&amp;EventCategory=4&amp;culture=pt-BR&amp;CountryCode=BR" target="_blank">Inscrição para a parte III (19:00 as 22:00)</a></p>
<p><strong>Agenda</strong></p>
<p><em><strong>Parte I</strong></em><br />
09:30 &#8211; 10:00 &#8211; Abertura do Evento<br />
10:00 &#8211; 11:00 &#8211; Resource Governor e Policy Management<br />
11:00 &#8211; 12:00 &#8211; Entenda porque o Query Optimizer é mais esperto que você<br />
12:00 &#8211; 13:00 &#8211; SQL Azure Database<br />
13:00 &#8211; 14:00 &#8211; Novos Recursos de Desenvolvimento do SQL Server 2008<br />
<em><strong>Parte II<br />
</strong></em>14:00 &#8211; 15:00 &#8211; Compressão de Dados e Backup no Microsoft SQL Server 2008<br />
15:00 &#8211; 16:00 &#8211; Entendendo TDE (Transparent Data Encryption)<br />
16:00 &#8211; 17:00 &#8211; Entendendo as Common Table Expressions (CTE)<br />
17:00 &#8211; 18:00 &#8211; Powershell Coletando e Analisando os Dados<br />
18:00 &#8211; 19:00 &#8211; Solução Avançada de Problemas com Extended Events<br />
<em><strong>Parte III</strong></em><br />
19:00 &#8211; 20:00 &#8211; Disaster Recovery &#8211; Backup, Restore e Tópicos Avançados<br />
20:00 &#8211; 21:00 &#8211; Integre seu código .NET com o SQL Server usando o CLR<br />
21:00 &#8211; 22:00 &#8211; Analise de Desempenho utilizando as Estatísticas de Espera</p>
<p>Maiores informações? <a href="mailto:contato@sqlserverday.com.br">contato@sqlserverday.com.br</a></p>
<p>Esperamos todos vocês lá!&#8221;</p>
<div style='display:none' id="post-refEl-904"></div>]]></content:encoded>
			<wfw:commentRss>http://www.portaltecnologia.net/2009/10/23/sql-server-day-eventos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Função Split no SQL 2005 &#8211; Recursividade usando Common Table Expressions ( CTE )</title>
		<link>http://www.portaltecnologia.net/2009/06/08/funcao-split-no-sql-2005-recursividade-usando-common-table-expressions-cte/</link>
		<comments>http://www.portaltecnologia.net/2009/06/08/funcao-split-no-sql-2005-recursividade-usando-common-table-expressions-cte/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:45:13 +0000</pubDate>
		<dc:creator>Tiago Souza</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>

		<guid isPermaLink="false">http://www.portaltecnologia.net/2009/06/08/funcao-split-no-sql-2005-recursividade-usando-common-table-expressions-cte/</guid>
		<description><![CDATA[Clique aqui para acessar a matéria completa. &#8211; Tiago Souza]]></description>
			<content:encoded><![CDATA[<p>Clique <a target="_blank" href="http://www.marceloramos.net/Blog/post/2009/06/07/Funcao-Split-no-SQL-2005-Common-Table-Expressions-(-CTE-).aspx">aqui </a>para acessar a matéria completa.</p>
<p>&#8211;<br />
Tiago Souza</p>
<div style='display:none' id="post-refEl-682"></div>]]></content:encoded>
			<wfw:commentRss>http://www.portaltecnologia.net/2009/06/08/funcao-split-no-sql-2005-recursividade-usando-common-table-expressions-cte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pesquisando por Similaridade com as funções SOUNDEX e DIFFERENCE do SQL Server</title>
		<link>http://www.portaltecnologia.net/2009/06/01/pesquisando-por-similaridade-com-as-funcoes-soundex-e-difference-do-sql-server/</link>
		<comments>http://www.portaltecnologia.net/2009/06/01/pesquisando-por-similaridade-com-as-funcoes-soundex-e-difference-do-sql-server/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 12:31:53 +0000</pubDate>
		<dc:creator>Tiago Souza</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.portaltecnologia.net/2009/06/01/pesquisando-por-similaridade-com-as-funcoes-soundex-e-difference-do-sql-server/</guid>
		<description><![CDATA[Pessoal, pra quem tem interesse dê uma olhada no Blog do parceiro Marcelo Ramos&#8230; Para acessar a matéria completa clique no link abaixo: http://www.marceloramos.net/Blog/post/2009/05/30/Pesquisando-por-Similaridade-com-as-funcoes-SOUNDEX-e-DIFFERENCE-do-SQL-Server.aspx Aqui vai uma prévia do assunto:  &#8221;Imagine a  seguinte situação : Você manda periodicamente um informativo por email para todos os contatos cadastrados em uma tabela de contatos, com nome e [...]]]></description>
			<content:encoded><![CDATA[<p>Pessoal, pra quem tem interesse dê uma olhada no Blog do parceiro Marcelo Ramos&#8230;</p>
<p>Para acessar a matéria completa clique no link abaixo:</p>
<p><a href="http://www.marceloramos.net/Blog/post/2009/05/30/Pesquisando-por-Similaridade-com-as-funcoes-SOUNDEX-e-DIFFERENCE-do-SQL-Server.aspx" target="_blank">http://www.marceloramos.net/Blog/post/2009/05/30/Pesquisando-por-Similaridade-com-as-funcoes-SOUNDEX-e-DIFFERENCE-do-SQL-Server.aspx</a></p>
<p>Aqui vai uma prévia do assunto:</p>
<p style="margin: 0cm 0cm 10pt" class="MsoNormal"><em> &#8221;<font size="3" face="Calibri">Imagine a<span>  </span>seguinte situação : </font></em></p>
<p>  <em><font size="3"><font face="Calibri">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 <span> </span>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 ?</p>
<p>Há duas funções no SQL que podem nos ajudar muito nesse caso. SOUNDEX e DIFFERENCE.<br />
Ambas avaliam semelhança de strings, mas vamos entender melhor na prática.&#8221;</font></font></em><br />
&#8211;<br />
Tiago Souza</p>
<div style='display:none' id="post-refEl-669"></div>]]></content:encoded>
			<wfw:commentRss>http://www.portaltecnologia.net/2009/06/01/pesquisando-por-similaridade-com-as-funcoes-soundex-e-difference-do-sql-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Enviando e-mails com Vbscript e Access</title>
		<link>http://www.portaltecnologia.net/2009/05/29/enviando-e-mails-com-vbscript-e-access/</link>
		<comments>http://www.portaltecnologia.net/2009/05/29/enviando-e-mails-com-vbscript-e-access/#comments</comments>
		<pubDate>Fri, 29 May 2009 20:39:42 +0000</pubDate>
		<dc:creator>Tiago Souza</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[vbscript]]></category>

		<guid isPermaLink="false">http://www.portaltecnologia.net/2009/05/29/enviando-e-mails-com-vbscript-e-access/</guid>
		<description><![CDATA[Enviando e-mails usando vbscript consultando uma base de dados Access   Introdução O processo que vamos descrever explica como enviar e-mails para contatos cadastrados em uma base MS Access utilizando vbscript. Pré-requisitos   MS Access Servidor SMTP (pode ser o do seu provedor) Banco de dados Access   Precisamos criar um banco de dados Access [...]]]></description>
			<content:encoded><![CDATA[<p><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="ProgId" content="Word.Document" /><meta name="Generator" content="Microsoft Word 12" /><meta name="Originator" content="Microsoft Word 12" /></p>
<link href="file:///C:%5CDOCUME%7E1%5CTIAGO%7E1.SOU%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List" />
<link href="file:///C:%5CDOCUME%7E1%5CTIAGO%7E1.SOU%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso" rel="Edit-Time-Data" /><!--[if !mso]><br />
<style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style>
<p> <![endif]--></p>
<link href="file:///C:%5CDOCUME%7E1%5CTIAGO%7E1.SOU%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData" />
<link href="file:///C:%5CDOCUME%7E1%5CTIAGO%7E1.SOU%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping" /><!--[if gte mso 9]><xml>     Normal   0               false   false   false      EN-US   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4                                                   </xml><![endif]--><!--[if gte mso 9]><xml>                                                                                                                                                                                                                                                                                                                                                                                                                                </xml><![endif]--><br />
<style>  </style>
<p><!--[if gte mso 10]></p>
<style>  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} </style>
<p> <![endif]--></p>
<p align="center"><strong>Enviando e-mails usando vbscript consultando uma base de dados Access</strong></p>
<p><strong> </strong></p>
<ol start="1" type="1">
<li><strong>Introdução</strong></li>
</ol>
<p>O processo que vamos descrever explica como enviar e-mails para contatos cadastrados em uma base MS Access utilizando vbscript.</p>
<ol start="2" type="1">
<li><strong>Pré-requisitos</strong></li>
</ol>
<p><strong> </strong></p>
<ul class="unIndentedList">
<li> MS Access</li>
</ul>
<ul type="disc">
<li>Servidor SMTP (pode ser o do      seu provedor)</li>
</ul>
<ol start="3" type="1">
<li><strong>Banco de dados Access</strong></li>
</ol>
<p><strong> </strong></p>
<p>Precisamos criar um banco de dados Access e uma tabela com a estrutura: <strong>E-mail</strong> e <strong>Nome</strong>. Vamos usá-la para cadastrar nossos contatos.</p>
<p>Para criar siga os seguintes passos:</p>
<ol start="1" type="1">
<li>Abra o <strong>MS Access</strong> e crie um novo banco de      dados, vamos chamá-lo no exemplo de <strong>&#8220;DB.mdb&#8221;</strong></li>
<li>Crie uma nova tabela:      <strong>Create</strong> &gt; <strong>Table </strong>e dê o nome para a tabela      (no nosso exemplo &#8220;Mailing&#8221;)</li>
</ol>
<ol start="3" type="1">
<li>Crie os campos <strong>&#8220;Email&#8221;</strong> e <strong>&#8220;Nome&#8221;</strong> com o Data Type = <strong>Text</strong></li>
</ol>
<p><!--[if gte vml 1]>                                                  <![endif]--><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/db1.JPG" alt="db1.JPG" /></p>
<ol start="4" type="1">
<li>Salve a tabela e      preencha os campos com os dados necessários</li>
</ol>
<p><!--[if gte vml 1]>   <![endif]--><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/db2.JPG" alt="db2.JPG" /></p>
<ol start="5" type="1">
<li>Salve o arquivo      <strong>DB.mdb</strong> e por questão de organização salve em uma pasta que irá conter o      script</li>
</ol>
<p><strong> </strong></p>
<ol start="4" type="1">
<li><strong>Vbscript para envio de e-mail</strong></li>
</ol>
<p><strong> </strong></p>
<p>Vamos utilizar vbscript para enviar os e-mails e vamos criá-lo dentro do mesmo diretório do banco.</p>
<p>Para baixar os arquivos contendo script com comentários explicativos, base de dados e modelo HTML clique no link abaixo:</p>
<p><strong><a href="http://www.portaltecnologia.net/downloads/sendmail/sendmail.zip" target="_blank">Scripts.zip</a></strong></p>
<p><strong> </strong></p>
<ol start="5" type="1">
<li><strong>Enviando os e-mails</strong></li>
</ol>
<p><strong> </strong></p>
<p>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.</p>
<ol start="6" type="1">
<li><strong>Conclusão</strong></li>
</ol>
<p><strong> </strong></p>
<p>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.</p>
<p><font color="#ff0000"><strong>BAIXE EM PDF</strong></font></p>
<p><a href="http://www.portaltecnologia.net/downloads/sendmail/Enviando_Emails_com_Vbscript.pdf" title="Clique na imagem para baixar" target="_blank"><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/pdf.png" alt="pdf.png" /></a></p>
<p><strong>Autores:</strong></p>
<p><em>Tiago Vieira Ferreira de Souza é<strong> </strong>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.<br />
Site: <a href="http://www.portaltecnologia.net//">http://www.portaltecnologia.net/</a><br />
E-mail: contato@tiagosouza.net</em></p>
<p><em> </em></p>
<p><em>Marcelo Ramos Borges de Oliveira<strong> </strong>é<strong> </strong>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.<strong><br />
</strong>Site: <a href="http://www.marceloramos.net/Blog">http://www.marceloramos.net/Blog</a><br />
E-mail: mramos.oliveira@gmail.com</em></p>
<div style='display:none' id="post-refEl-666"></div>]]></content:encoded>
			<wfw:commentRss>http://www.portaltecnologia.net/2009/05/29/enviando-e-mails-com-vbscript-e-access/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Como impedir múltiplos logons em uma rede com Active Directory</title>
		<link>http://www.portaltecnologia.net/2009/05/27/como-impedir-multiplos-logons-em-uma-rede-com-active-directory/</link>
		<comments>http://www.portaltecnologia.net/2009/05/27/como-impedir-multiplos-logons-em-uma-rede-com-active-directory/#comments</comments>
		<pubDate>Wed, 27 May 2009 20:41:40 +0000</pubDate>
		<dc:creator>Tiago Souza</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[GPO]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Windows Server 2003 / 2008]]></category>
		<category><![CDATA[ActiveDirectory]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[unicologon]]></category>
		<category><![CDATA[vbscript]]></category>
		<category><![CDATA[windows2003]]></category>

		<guid isPermaLink="false">http://www.portaltecnologia.net/2009/05/27/como-impedir-multiplos-logons-em-uma-rede-com-active-directory/</guid>
		<description><![CDATA[v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} 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 [...]]]></description>
			<content:encoded><![CDATA[<p><meta name="ProgId" content="Word.Document" /><meta name="Generator" content="Microsoft Word 12" /><meta name="Originator" content="Microsoft Word 12" /></p>
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CTIAGO%7E1.SOU%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" />
<link rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CTIAGO%7E1.SOU%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso" />
<style>   v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style>
<link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CTIAGO%7E1.SOU%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" />
<link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CTIAGO%7E1.SOU%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" />
<style>    </style>
<p><strong>Como impedir múltiplos logons em uma rede com Active Directory</strong></p>
<ol type="1">
<li><strong>Introdução</strong></li>
</ol>
<p>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.</p>
<p>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.</p>
<p><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/unicologon1.JPG" alt="unicologon1.JPG" /></p>
<p>Fig1 &#8211; Propriedade de Account do Active Directory</p>
<p><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/unicologon2.JPG" alt="unicologon2.JPG" /><br />
Fig2 &#8211; Lista com computadores</p>
<p>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.</p>
<ol start="2" type="1">
<li><strong>Pré-requisitos</strong></li>
</ol>
<ul class="unIndentedList">
<li>Active Directory com domínio previamente configurado</li>
<li>Estações Windows 2000 ou superior</li>
</ul>
<ul type="disc">
<li>SQL Express (ferramenta gratuita, podendo ser instalada no mesmo servidor que hospeda o Active Directory. Em nosso exemplo trabalhamos com a versão 2005)</li>
<li>GPMC (Group Policy Management Console &#8211; ferramenta gratuita para edição de políticas de grupo)</li>
</ul>
<ol start="3" type="1">
<li><strong>Scripts de Logon, Logoff e SQL</strong></li>
</ol>
<p>Para baixar os scripts de Logon, Logoff e SQL, clique no link abaixo. Os scripts estão comentados para facilitar o entendimento.</p>
<p><strong><em><a target="_blank" href="http://www.portaltecnologia.net/downloads/logonunico/LogonUnico_Scripts.zip">Scripts.Zip</a></em></strong></p>
<p>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.</p>
<p><strong>String de Conexão</strong></p>
<p>&#8220;Provider=SQLOLEDB.1; Password=***;Persist Security Info=True;User ID=***;Initial Catalog=LOGON;Data Source=***&#8221;</p>
<p>User ID = Usuário com permissão no banco de dados</p>
<p>Password = Senha do usuário configurado no campo User ID<br />
Data Source = Nome do servidor ( Geralmente MAQUINA\SQLEXPRESS onde MAQUINA é o nome do servidor onde foi instalado o SQL Express )</p>
<ol start="4" type="1">
<li><strong>Compartilhando os Scripts</strong></li>
</ol>
<p>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.</p>
<p><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/unicologon3.JPG" alt="unicologon3.JPG" /></p>
<ol start="5" type="1">
<li><strong>Criação das GPOs</strong></li>
</ol>
<p>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).</p>
<p>1 &#8211; Vamos abrir o GPMC para criarmos e editarmos nossa policie de scripts de <strong>logon</strong> e <strong>logoff</strong>. Clique em <strong>start</strong> &gt; <strong>run</strong> &gt; e digite <strong>&#8220;gpmc.msc&#8221;</strong> (sem as aspas)</p>
<p>2 &#8211; Vamos escolher em qual Unidade Organizacional vamos linkar a policy, clicamos com o botão direito em cima dela e selecionamos a opção <strong>&#8220;<u>C</u>reate and Link a GPO Here&#8230;&#8221;</strong></p>
<p><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/unicologon4.JPG" alt="unicologon4.JPG" /></p>
<p>3 &#8211; Com o editor de policies aberto vamos expandir: <strong>User Configuration</strong> &gt; <strong>Windows Settings</strong> &gt; selecionar <strong>Scripts (Logon/Logoff)</strong></p>
<p><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/unicologon5.JPG" alt="unicologon5.JPG" /></p>
<p>4 &#8211; Vamos iniciar dando um duplo clique em <strong>Logon</strong>. A janela de configuração irá se abrir e vamos clicar em <strong>Add</strong> e passar o caminho do compartilhamento criado no NETLOGON, no nosso exemplo <strong>\\SC-0000001\NETLOGON\LogonUnico\Login.vbs</strong></p>
<p><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/unicologon6.JPG" alt="unicologon6.JPG" /></p>
<p><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/unicologon7.JPG" alt="unicologon7.JPG" /></p>
<p>5 &#8211; Vamos agora abrir o <strong>Logoff</strong> e fazer o mesmo procedimento, só que agora buscando o script de logoff no mesmo compartilhamento <strong>\\SC-0000001\NETLOGON\LogonUnico\Logoff.vbs</strong></p>
<p><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/unicologon8.JPG" alt="unicologon8.JPG" /></p>
<p>6 &#8211; Pronto, a política já está criada. Podemos forçar sua execução com o comando <strong>&#8220;gpupdate /force&#8221;</strong>.</p>
<ol start="6" type="1">
<li><strong>SQL Express</strong></li>
</ol>
<p><strong> </strong>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).<br />
Será necessário:</p>
<p>- Instalar o SQL Express</p>
<p>- Criar um banco de dados e nomeá-lo como <strong>LOGON</strong></p>
<p>- Criar a tabela <strong>USUARIOS</strong> ( LogonUnico.sql )</p>
<p>Banco e ferramentas de administração podem ser encontrados nos links abaixo:</p>
<ul type="disc">
<li><strong>SQL Server 2005 Express Edition<br />
</strong><a target="_blank" href="http://download.microsoft.com/download/F/4/E/F4EE8AE2-4979-47F0-A931-791B2B7DCFA2/SQLEXPR32_PTB.EXE">http://download.microsoft.com/download/F/4/E/F4EE8AE2-4979-47F0-A931-791B2B7DCFA2/SQLEXPR32_PTB.EXE</a></li>
<li><strong>SQL Server Management Studio Express<br />
</strong><a target="_blank" href="http://go.microsoft.com/fwlink/?linkid=65110">http://go.microsoft.com/fwlink/?linkid=65110</a></li>
<li><strong>SQL Server 2005 Express Edition with Advanced Services<br />
</strong><a target="_blank" href="http://go.microsoft.com/fwlink/?linkid=65109">http://go.microsoft.com/fwlink/?linkid=65109</a></li>
</ul>
<ol start="7" type="1">
<li><strong>Resolução de problemas</strong></li>
</ol>
<p>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.</p>
<p>Para limpar o registro manualmente execute no SQL um dos seguintes comandos:</p>
<p><strong><font color="#99cc00">/* DELETANDO REGISTRO POR USUARIO */</font></strong></p>
<p>DECLARE @USUARIO VARCHAR(30)</p>
<p>SET @USUARIO = &#8216;USUARIO&#8217; &#8212; COLOQUE O NOME DO USUARIO AQUI</p>
<p>DELETE FROM DBO.USUARIOS WHERE USUARIO = @USUARIO</p>
<p><strong><font color="#99cc00">/* DELETANDO REGISTRO POR MAQUINA */</font></strong></p>
<p>DECLARE @MAQUINA VARCHAR(30)</p>
<p>SET @MAQUINA = &#8216;MAQUINA&#8217; &#8212; COLOQUE O NOME DA MAQUINA AQUI</p>
<p>DELETE FROM DBO.USUARIOS WHERE MAQUINA = @MAQUINA</p>
<p><font color="#99cc00"><strong>/* DELETANDO TODOS OS REGISTROS */</strong></font></p>
<p>DELETE FROM DBO.USUARIOS</p>
<ol start="8" type="1">
<li><strong>Conclusão</strong></li>
</ol>
<p>O procedimento adotado nesse documento é uma alternativa <strong>simples</strong> 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.</p>
<p><strong><br />
Autores:</strong></p>
<p><em>Tiago Vieira Ferreira de Souza é<strong> </strong>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.<br />
Site: <a target="_blank" href="http://www.portaltecnologia.net/">http://www.portaltecnologia.net/</a><br />
E-mail: contato@tiagosouza.net</em></p>
<p><em>Marcelo Ramos Borges de Oliveira<strong> </strong>é<strong> </strong>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.<strong><br />
</strong>Site: <a target="_blank" href="http://www.marceloramos.net/Blog">http://www.marceloramos.net/Blog</a><br />
E-mail: mramos.oliveira@gmail.com</em></p>
<p><font color="#ff0000"><strong>BAIXE EM PDF</strong></font></p>
<p><a target="_blank" href="http://www.portaltecnologia.net/downloads/logonunico/Como_Impedir_Multiplos_Logons.pdf"><img src="http://www.portaltecnologia.net/wp-content/uploads/2009/05/pdf.JPG" alt="pdf.JPG" /></a></p>
<div style='display:none' id="post-refEl-653"></div>]]></content:encoded>
			<wfw:commentRss>http://www.portaltecnologia.net/2009/05/27/como-impedir-multiplos-logons-em-uma-rede-com-active-directory/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Função para limpar acentos no SQL</title>
		<link>http://www.portaltecnologia.net/2008/09/08/funcao-para-limpar-acentos-no-sql/</link>
		<comments>http://www.portaltecnologia.net/2008/09/08/funcao-para-limpar-acentos-no-sql/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 13:19:18 +0000</pubDate>
		<dc:creator>Tiago Souza</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>

		<guid isPermaLink="false">http://www.portaltecnologia.net/2008/09/08/funcao-para-limpar-acentos-no-sql/</guid>
		<description><![CDATA[Olá pessoal,  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. segue script comentado: CREATE FUNCTION FN_TIRA_ACENTOS( @STRING VARCHAR(255) ) [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, </p>
<p>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.</p>
<p>Para isso vou postar uma função que faz esse trabalho de “limpar” os acentos, recebendo como parâmetro uma string.</p>
<p>segue script comentado:</p>
<p><span id="more-235"></span></p>
<p>CREATE FUNCTION FN_TIRA_ACENTOS( @STRING VARCHAR(255) )<br />
RETURNS VARCHAR(255)<br />
AS<br />
BEGIN<br />
    /* delaração das variáveis */<br />
 DECLARE @NOACCENTURESTRING VARCHAR(255),<br />
   @ACCENTURE CHAR(40),<br />
   @NOACCENTURE CHAR(40),<br />
   @COUNT INT,<br />
   @LETRA CHAR(1),<br />
   @INDICE INT</p>
<p>/*<br />
a variavel @ACCENTURE será minha base de consulta de todos os<br />
caracteres com acento<br />
*/    <br />
 SET @ACCENTURE  = &#8216;ÁÇÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕËÜáçéíóúàèìòùâêîôûãõëü&#8217;<br />
/*<br />
a variavel @NOACCENTURE será minha base de consulta de todos os<br />
caracteres da @ACCENTURE, só que sem os acentos e na mesma ordem<br />
*/<br />
 SET @NOACCENTURE = &#8216;ACEIOUAEIOUAEIOUAOEUaceiouaeiouaeiouaoeu&#8217;</p>
<p>/*<br />
a variavel @COUNT vai definir por que letra da palavra que foi recebida como parametro vou comecar a procurar se há acento ou não<br />
sempre vamos começar pela 1ª letra<br />
*/<br />
 SET @COUNT = 1</p>
<p>/*<br />
Inicio do Loop que “varre” a palavra passada em busca de caracteres com acento<br />
*/<br />
 WHILE @COUNT &lt;= LEN(@STRING)<br />
 BEGIN</p>
<p>/*<br />
Aqui armazeno a primeira letra da palavra passada na variavel<br />
@LETRA<br />
*/<br />
  SET @LETRA = SUBSTRING( @STRING, @COUNT, 1 )</p>
<p>/*<br />
Aqui verifico se essa letra existe em minha “base de acentos”<br />
a variavel @ACCENTURE, e armazeno a posição da letra na variável<br />
@INDICE<br />
*/<br />
  SET @INDICE = CHARINDEX( @LETRA COLLATE SQL_Latin1_General_CP1_CS_AS, @ACCENTURE COLLATE SQL_Latin1_General_CP1_CS_AS )</p>
<p>/*<br />
Se encontrei a letra na minha “base de acentos”, a variavel @INDICE será um valor &gt; 0<br />
*/<br />
  IF( @INDICE &gt; 0 )</p>
<p>  BEGIN<br />
/*<br />
Aqui é onde ocorre a troca da letra com acento pela sem acento<br />
Vou na minha base de letras sem acento ( @NOACCENTURE ) e busco a letra da posição @INDICE, que deve corresponder a mesma letra da<br />
variável @ACCENTURE só que sem acento.<br />
*/<br />
   SET @STRING = REPLACE( @STRING, @LETRA, SUBSTRING( @NOACCENTURE, @INDICE, 1 ) )<br />
  END</p>
<p>/*<br />
Depois de fazer a troca, somo 1 a @CONT, pra que ele passe para a letra seguinte da palavra.<br />
*/<br />
  SET @COUNT = @COUNT + 1<br />
 END</p>
<p>/*<br />
Assim que terminar o Loop, a variavel @STRING será a palavra sem acentos, então mando a função retorná-la<br />
*/<br />
 RETURN @STRING</p>
<p>END<br />
Para testar é só executar<br />
SELECT DBO.FN_TIRA_ACENTOS( &#8216;SÃO PAULO&#8217; )<br />
Espero que seja útil.</p>
<p>meu email: <a href="mailto:mramos.oliveira@gmail.com">mramos.oliveira@gmail.com</a><br />
fiquem à vontade para enviar duvidas, sugestões e críticas.</p>
<p>Um abraço,<br />
Marcelo Oliveira</p>
<div style='display:none' id="post-refEl-235"></div>]]></content:encoded>
			<wfw:commentRss>http://www.portaltecnologia.net/2008/09/08/funcao-para-limpar-acentos-no-sql/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
