Arquivos Mensais:março 2011

Erro ao abrir a base de dados

Olá Pessoal,

Estou fazendo esse post meio fora dos meus padrões, pois normalmente só posto algo relacionado à tunning ou algo mais relacionado a desenvolvimento, mas esse problema realmente merecia um post. Na semana passada do nada as bases de dados do SQL Server, tanto a master, tempDB como ainda as bases de usuário começaram a ficar bloqueadas impedindo que o SQL Server conseguisse utiliza-las, o problema era tao grande que o serviço do SQL Server chegava a parar.

Consultando o log de erros do SQL Server o erro era o seguinte:

“2011-03-28 11:17:56.59 spid51 Starting up database ‘xxxxxxxxx’.

2011-03-28 11:17:56.68 spid51 Erro: 17207, Gravidade: 16, Estado: 1.

2011-03-28 11:17:56.68 spid51 FCB::RemoveAlternateStreams: Operating system error (null) occurred while creating or opening file ‘C:\Arquivos de programas\Microsoft SQL Server\MSSQL.1\MSSQL\Data\xxxxxxxx.mdf’. Diagnose and correct the operating system error, and retry the operation. “.

Com esse erro fui diretamente para o twitter perguntar utilizando a hashtag sqlhelp que é extrema importância, mas juntamente com isso já cadastrei o problema no MSDN, depois de ler tantas opiniões sobre o que poderia ser o problema, recorri também ao Felipe Ferreira (Twitter | Blog) pois certamente ele poderia me ajudar. Dito e feito, ele me passou uma ferramenta que não sabia que existia o Process Monitor, com ele você consegue monitorar quais processos estão utilizando determinados arquivos, e ao colocar esse aplicativo para rodar na maquina do banco de dados tenho a seguinte surpresa.

Isso mesmo que você acabou de ver, o bendito anti-virus Kaspersky acessando as minhas bases de dados e deixando um lock meus arquivos. E a solução foi então desinstalar o Kaspersky e deixar o Microsoft Essential Security, pronto meus problemas foram resolvidos, então caso algum dia aconteça isso com vocês lembrem-se de que o anti-vírus pode ser o causador desse problema.
Bom pessoal, espero que isso seja útil para vocês no dia-a-dia.
Marcos Freccia
MCP | MCTS SQL Server 2008 Development

Documentação de Databases

Olá Pessoal,

Então, alguma vez vocês já pensaram sobre a documentação de um servidor SQL Server? Como descrever as tabelas, bases de dados, schemas, views, etc.? Confesso que para mim isso é novo, e fazer isso com uma ferramenta gratuita da Microsoft é sem sombra de duvidas muito bom.

A alguns dias atrás eu não saberia o porque eu usaria o Powershell para fazer isso, eu não entendo muito sobre PowerShell, como usar ele, mas eu vi isso na internet e decidi compartilhar com os outros.

Não vou colocar aqui o script de como executar essa documentação ou explicar o funcionamento do mesmo, mas prefiro que vocês entrem no blog post original para ver e entender como realmente funciona. Minha intenção aqui foi somente compartilhar, pois acredito que muitos ainda não conheçam. Todos os merecidos créditos vão para Rhys Campbell.

O post original está em inglês no blog: http://bit.ly/egjHXv. Como no blog Scripting Guy são contribuições de outros leitores, coloco aqui também o site em inglês de Rhys Campbell (@rhyscampbell) que foi o responsável pela criação do artigo: http://bit.ly/eaew2E. Bom divertimento a todos.

Marcos Freccia
MCP | MCTS SQL Server 2008 Database Development
@SqlFreccia