Artigos

ruir3
31 Maio 2011 - 17:09

[Please check attached file: Event Notification.Locks.doc for the correct formated document.]
 
Problem description
 
Even within a database with  a good ER model, resource dispute can happen, and sometimes it triggers deadlocks.
 

ruir3
29 Abr 2011 - 08:30

"UNDOCUMENTED"
Definition: "Not supported by written evidence" ... (in BOL)
 
Since the very first version of SQL Server, there are many undocumented functions, store procedures, and features...
Many of them are only there for testing and deep debugging purposes (product support). Others are left so that the SQL Server product developers could freely change those features in later releases or even service packs.
 
There are a few issues that shouldn't be forgotten:
- Many of them are dangerous ...!;
- You can’t get help from Microsoft if undocumented features don't work the way you expect them to;
- An undocumented feature carries a risk that it will change at some point (... might not work after an upgrade...)!
 
By the other hand, it is stated that: - "Many of them are *extremely* useful for DBA’s ..." -> Paul S. Randal

17 Mar 2011 - 15:41

Técnicas e ferramentas de monitorização para servidores são assuntos sempre em alta, seja no mundo real ou acadêmico. Afinal, todos querem o ambiente de produção funcionando.

O SQL Server tem uma ferramenta muito popular chamada Profiler. O Profiler é distribuído junto com o SQL Server 2008 e pode encontrado no Microsoft SQL Server 2008, nas ferramentas de Performance Tools. Ele possui uma interface gráfica, fácil de usar, onde é possível visualizar instruções que são enviadas e alguns eventos que ocorrem no servidor.

Contudo, a interface gráfica é apenas uma máscara. Nos bastidores, o Profiler faz uso de um conjunto de stored procedures para realizar a monitorização. É possível usar somente as stored procedures e dispensar a interface gráfica. A monitorização ou tracing que faz uso somente de stored procedures é chamado de Server Side Tracing. Ele não tem interface gráfica, é feito por script e os eventos e instruções enviados ao servidor são salvos em arquivos de extensão “trc”.

ruir3
1 Mar 2011 - 23:09

sys.dm_db_index_usage_stats

Explicando de uma forma simples, pode-se dizer que esta DMV devolve informação sobre os valores dos contadores dos varios tipos de operações realizadas sobre os índices, bem como, a data/hora da realização da última operação de cada tipo.

Assim se pretender saber quais os índices que não estão a ser usados, ou quais deverão ser avaliados em termos de continuarem a existir ou não (devido à sobrecarga ao nível user_updates ser bastante mais elevada que ao nível das user_seeks, user_scans, ou mesmo user_lookups), esta é a DMV correcta !

Ah ! Mas existe um pequeno problema !

Como é do conhecimento público, sempre que o engine do SQL Server é re-inicializado, perdem-se todos os dados históricos.

A questão coloca-se de forma simples. Para que seja possível efectuar uma correcta avaliação da utilização dos índices, numa BD específica, os resultados da DMV sys.dm_db_index_usage_stats deverão ser armazenados numa tabela para uma análise posterior mais cuidada.

 

Como implementar uma solução para esta questão ?

vmontalvao
28 Fev 2011 - 12:11

Normalmente e principalmente em empresas mais pequenas, não existe o cargo DBA. Essa função é exercida por um Administrador de Sistemas ou mesmo um Analista/Programador. Claro que são profissionais que dão o seu melhor mas que não têm a sensibilidade e conhecimentos de um DBA. É para esses profissionais que escrevo este artigo, esperando que seja uma boa ajuda para configurarem e manterem as suas bases de dados.

SQL Server best-practices:

1) Instalar o SQL Server num servidor dedicado - O SQL Server é um consumidor de recursos (CPU, RAM, Disco) e por esse motivo não é boa política instalar outras aplicações no mesmo servidor (a excepção será para o SQL Server Express Edition que tem limitações de utilização de CPU, RAM e tamanho das bases de dados). Numa arquitectura 32bits deixar 512MB livres para o sistema operativo e numa arquitectura 64bits deixar 2GB para o sistema operativo. Por fim, criar utilizadores específicos para cada serviço do SQL Server de modo a manter os privilégios dos serviços o mais baixo possível (dar somente o estritamente necessário).

vmontalvao
18 Out 2010 - 15:49

Embora já existam as versões SQL Server 2008 e SQL Server 2008 R2, arrisco a dizer que ainda existem mais instalações da versão do SQL Server 2005. Daí ter criado este conteúdo que serve mais como guia de pré-instalação de uma nova instância do SQL Server 2005 em cluster. Criei este guia através da minha própria experiência, após ter passado boas horas a procura das soluçõs para os problemas que iam aparecendo. Espero que este artigo ajude alguém no futuro.