Revisão Atual postado em artigos TechNet por Demétrio Silva em 5/2/2013 7:12:53
![]()
Para maior esclarecimento do script acima, será explicado o que cada comando significa.
Nas linhas 2 e 5, os Assemblies SMO são carregados para a console. Estes Assemblies são necessários para execução de códigos SQL Server dentro da console do Powershell
As linhas 5 e 6 criam um objeto do tipo Server. Este objeto representa uma conexão à uma instância do SQL Server. Como não foi especificado nenhum parâmetro, o objeto é conectado na instância padrão.
Nas linhas 6 à 8, o objeto Server é usado junto ao método ReadErrorLog para leitura do log de erros do SQL Server. Após a leitura, o objeto é passado via pipeline e aplicado o filtro para não exibir entradas no error log que iniciem com "login failed" ou "the process could not".
Na linha 9, o retorno é exportado para arquivo TXT.
Como Ler o Error Log Através do Powershell
Muitas vezes para resolver algum tipo de problema no SQL Server faz-se necessário analisar o error log, no entanto, em servidores com grande atividade ( e muitas vezes sem o trace log 3226 ), o log de erros do SQL Server possui muitas informações e isso termina
atrapalhando a análise, visto que, a quantidade de informações duplicadas e desnecessária é enorme.
Este tópico descreve os passos necessários para realizar a leitura do error log através da Linguagem de Linha de Comando da Microsoft Powershell e exportação do resultado para arquivo. Através do Powershell, é possível visualizar apenas as informações que o
DBA precisa.
Os passos abaixo descrevem como realizar as tarefas necessárias
- Digitar o seguinte código em um arquivo TXT, não esqueça das aspas simples pois em caso de quebra de linha são obrigatórias. Também é possível utilizar as IDEs Windows PowerShell ISE ouPowergui:

- Salvar o txt com a extensão .PS1 em alguma pasta de trabalho. Neste exemplo o arquivo será salvo em C:\exemploLog.ps1;
- Abrir o Shell de comando do Powershell: para isso, vá até o menu executar do Windows e digite Powershell;
- Execute o seguinte comando no Shell:
![]() |
Explicação do comando
Para maior esclarecimento do script acima, será explicado o que cada comando significa.
Na linha 1, é usado o comando CLS (que é um alias para Clear-Host), e faz a limpeza da tela do Shell;
Nas linhas 2 e 5, os Assemblies SMO são carregados para a console. Estes Assemblies são necessários para execução de códigos SQL Server dentro da console do Powershell
As linhas 5 e 6 criam um objeto do tipo Server. Este objeto representa uma conexão à uma instância do SQL Server. Como não foi especificado nenhum parâmetro, o objeto é conectado na instância padrão.
Nas linhas 6 à 8, o objeto Server é usado junto ao método ReadErrorLog para leitura do log de erros do SQL Server. Após a leitura, o objeto é passado via pipeline e aplicado o filtro para não exibir entradas no error log que iniciem com "login failed" ou "the process could not".
Na linha 9, o retorno é exportado para arquivo TXT.
Referências
- Aprender Powershell - http://social.technet.microsoft.com/wiki/pt-br/contents/articles/13772.aprender-powershell.aspx
- Carregar Assemblies SMO no Powershell - http://msdn.microsoft.com/pt-br/library/hh245202.aspx
- Exibir log de erros do SQL Server - http://msdn.microsoft.com/pt-br/library/ms187109.aspx
- Windows Powershell - http://technet.microsoft.com/pt-br/library/bb978526.aspx
Tags: Demétrio Silva