Que contadores de desempenho usar para o SQL Server 2005 Express

1

Cenário de uso
Eu tenho um banco de dados SQL 2005 em execução em uma instância do SQL Server 2005 Express Edition. Há dois aplicativos .Net diferentes em execução que se conectam constantemente a esse banco de dados e executam várias tarefas. Um aplicativo insere dados a uma taxa entre 0 e 200 registros a cada 5 segundos. Essas inserções exigem algumas pesquisas antes que as inserções possam ser feitas. O segundo aplicativo, em seguida, pesquisa o banco de dados a cada 30-60 segundos e executa a análise desses dados. Esse aplicativo também tem uma GUI.
Os dois aplicativos e o banco de dados estão todos em execução em uma única máquina independente que não está conectada a uma rede. A máquina não é um servidor, apenas um PC de 32 bits com uma versão completa do XP, contém 4 GB de RAM.

Problema
O aplicativo com a GUI ocasionalmente fica lento e às vezes completamente não responde por curtos 10 a 30 segundos, mas geralmente se recupera. Para ser honesto, os relatórios de "bug" são um pouco finos em informações sólidas neste estágio, tudo o que sei com certeza é que tudo que está errado de alguma forma se tornou minha culpa. Com problemas como esse, geralmente descubro que, depois de registrar alguns dados de desempenho sólidos e mostrar os tempos reais de resposta, etc., os problemas "magicamente" deixam de ser problemas. Então eu tenho alguns contadores de desempenho (usando perfmon.exe) no lugar para os dois aplicativos .net e estou esperando por um período de tempo significativo para passar antes de analisá-los. Mas atualmente não tenho nenhum contador em vigor para a instância do SQL Server.

Pergunta (s)
Quais contadores de desempenho devo usar para monitorar a memória, a CPU, o desempenho da instância do SQL etc.?
Você pode me indicar qualquer artigo decente que explique o que cada um desses contadores significa? Eu encontrei Dicas para Usar Contadores do Monitor de Desempenho do SQL Server por Brad McGehee, o que é bom, mas possivelmente um pouco datado - algumas das dicas parecem ser apenas para 2.000 instâncias.
Alguma outra dica, dicas, etc?
Felicidades,

    
por Scott 24.07.2009 / 06:40

2 respostas

1

Acho que seus problemas estão relacionados a bloqueios no banco de dados. Além disso, se o aplicativo que injeta dados usar o SQL dinâmico, sua CPU estará em carga alta.

Apesar do sql express não incluir um profiler, existem aplicativos de terceiros que executam o mesmo trabalho, eu recomendo o AnjLab.SqlProfiler.

Para mais informações, você pode ler alguns artigos aqui

    
por 24.07.2009 / 07:01
1

Não é possível postar dois links, pois sou novato aqui. Outro ótimo site é sql-server-performance

    
por 24.07.2009 / 07:12