Receita de Bolo – Identificando a Contenção de IO

Essa é uma questão muito comum em sala de aula. Como identificar a contenção de I/O do banco de dados e arquivos no SQL Server?

O SQL Server 2008 nos provê recursos para validar o número de leitura e escrita. Para essa descoberta podemos utilizar a DMV sys.dm_io_virtual_file_stats ou a função fn_virtualfilestats.

Veja a receita de bolo abaixo, essa querie retorna as estatisticas sobre cada banco de dados e arquivo na instância do SQL Server.

SELECT

      DB_NAME(database_id) DatabaseNM,

      file_id FileID,

      io_stall IOStallsMs,

      size_on_disk_bytes FileBytes,

      num_of_bytes_written BytesWritten,

      num_of_bytes_read BytesRead

FROM

      sys.dm_io_virtual_file_stats(NULL, NULL)

ORDER BY io_stall DESC

Para resumir, existem diversas formas de se avaliar a contenção de I/O, mas essa é a mais simples e retorna o instante em que necessitamos averiguar. Uma variação deste script, a que eu guardo sempre comigo, podemos encontrar no SQL Script Manager, para quem não conhece recomendo o download no link da Red Gate.

Abraço, Rodrigo

O arquivo Hosts

O arquivo Hosts existe para facilitar a entrada de endereçamento de IP e Hostname, ainda permitindo o acesso direto ou bloqueando o mesmo. Esse arquivo não é uma exclusividade dos Sistemas Operacionais Windows.

De maneira geral o arquivo Hosts é consultado em cada conexão a um endereço na rede, funciona semelhante a uma agenda de endereços.

Se o site estiver relacionado no arquivo e for permitido o acesso é imediato, ao contrário se for encontrado nos sites não autorizados o mesmo será bloqueado. Em contra partida, se o endereço não for encontrado o objeto da pesquisa será procurado num provedor ISP.

No Windows Server 2008 ou Windows 7 encontramos esse arquivo no endereço c:WindowsSystem32driversetcHosts.

O conteúdo desde arquivo é muito simples, nele consta apenas uma listagem de IP X Hostnames.

Para concluir, a edição deste arquivo é inofensiva desde que moderada. Se houver muitas entradas nesse arquivo valerá a pena criar um servidor de DNS.

Abraço, Rodrigo

DAC

Depois de responder a diversos questionamentos de alunos, resolvi postar aqui uma dica.

Muitos são os tópicos na web que falam da alta-disponibilidade do SQL Server, inclusive trabalhei nos últimos meses em minha monografia de estudo de caso descritivo sobre as estratégias a cerca deste assunto, mas voltando ao foco do post.

Imagine que você é administrador de um SQL Server e o seu cliente liga reclamando que o serviço do SQL Server não esta mais respondendo. Imediatamente o que você faz? Reinicializa o serviço e arruma uma desculpa esfarrapada para isso, certo? Não, errado.

No SQL Server 2005 foi adicionada a funcionalidade que ajuda a resolver alguns problemas que podem ocorrer, essa funcionalidade é conhecida como Dedicated Administrator Connection (DAC).

O SQL Server escuta as conexões DAC em uma porta atribuída dinamicamente. A conexão pode ser feita na mesma porta registrada no log de erro e apenas usuários com função de sysadmin podem realizar esse tipo de conexão. Essa conexão pode ser feita tanto com o sqlcmd quanto com o SSMS.

Para conexão com o SSMS é necessário utilizar o prefixo “admin:” no campo server name.

Já as conexões feitas através do sqlcmd podem utilizar a opção “-A”.

Espero que esse post ajude vocês a encontrarem o caminho que leva a solução dos problemas e não a mascarar com soluções paliativas.

Abraço, Rodrigo

Semana do SQL Server – Virtual PASS BR

Pessoal,

Em agosto acontecerá um evento promovido pelo Virtual PASS BR. 

Será uma semana inteira com dois Webcast por dia, entre os dias 1 e 6 de agosto serão 12 palestrantes do mais alto nível.

Abaixo segue o conteúdo e o palestrante.

Título

Palestrante

Era uma vez um reino de trevas… Denali + Windows Functions… e viveram felizes para sempre!

Fabiano Amorim

Projeto Crescent – A Próxima Geração de Relatórios

Felipe Ferreira

10 coisas que todo desenvolvedor deveria saber sobre SQL Server

Marcos Freccia

BI Semantic Model e PowerPivot for Excel vNext

Thiago Zavaschi

Data Collector: arquitetura, funcionamento e utilizações

Palestrante: Luan Moreno
Moderador: Luciano Moreira

Primeiro contato com as ferramentas de BI do SQL Server – SSIS + SSAS + SSRS

Diego Nogare

Extraindo, Transformando e Carregando Dados com o SQL Integration Services – Parte 1

Socorro Vieira

Extraindo, Transformando e Carregando Dados com o SQL Integration Services – Parte 2

Andressa Martins

Evitando erros comuns na elaboração de código T-SQL

Gustavo Maia Aguiar

Gerenciando SQLServer Workloads com Resource Governor

Rodrigo Crespi

Disponibilidade de Banco de Dados com Replicação e Database Mirroring

Junior Galvão

SQL Server x SQL Azure, o que preciso saber?!

Marcondes Alexandre

Eu estarei contribuindo com o tema sobre Gerenciamento de cargas com o Resource Governor. 

Para maiores informações e inscrições acesse o site do evento em: http://bit.ly/kQY8Zl

 Abraço, Rodrigo