segunda-feira, 24 de junho de 2019

Como restaurar apenas alguns objetos de um backup do SQL Server


Seja bem vindo!

[Início do Alerta de Spoiler]

Talvez este post não te ajude se você já estiver com um problema no qual precisa realizar esta tarefa, mas garanto que ele poderá te ajudar muito no futuro.

[Fim do Alerta de Spoiler]

Na época do lançamento do SQL Server 2008 foram adicionados muitas features e muita coisa mudou. Nessa época eu devorava muitos artigos sobre boas práticas, eu sinto um pouco de falta disso hoje em dia... O objetivo dos artigos técnicos mudaram um pouco na minha opinião... Mas vamos deixar de lado o sentimento de "no meu tempo que era bom" e vamos ao que interessa. Uma recomendação que guardei em minha memória é:

"Nunca utilize o filegroup "PRIMARY" para armazenar seus dados, ele deve conter apenas os metadados. Além do fato de que a saúde do seu banco se baseia na quantidade de páginas corrompidas no "PRIMARY"."

Ou seja, sempre crie um filegroup novo e o defina como sendo o default do seu banco.

Neste ponto, me reservo o direito de citar Galadriel no início de "The Lord of the Rings":

"A história virou lenda, a lenda virou mito e coisas que não deveriam ser esquecidas foram perdidas."

segunda-feira, 22 de abril de 2019

Aplicando conceitos do Google Site Reliability Engineering (SRE) no Microsoft SQL Server usando Splunk

Olá pessoal!

Atualmente estou lendo o livro do Google sobre "Site Reliability Engineering", que se encontra disponível para leitura online gratuita. No capítulo 4 , "Service Level Objectives", é abordada uma métrica para o tempo de resposta de "Get RPC calls". O que mais gostei na abordagem apresentada é que ela não define um número único como métrica, aonde comparamos se o valor atual está acima ou abaixo deste número. Ao invés disso é utilizado um conceito de faixas que se sobrepõem:

Site Reliability Engineering - Edited by Betsy Beyer, Chris Jones, Jennifer Petoff and Niall Richard Murphy
Site Reliability Engineering - Edited by Betsy Beyer, Chris Jones, Jennifer Petoff and Niall Richard Murphy

segunda-feira, 1 de setembro de 2014

Atualizando estatísticas em paralelo - usp_update_statistics_v1

Olá senhores!

Hoje vou falar de estatísticas de tabelas, mas não de como o SQL Server utiliza ela nos planos, sobre este assunto eu sugiro se inscreverem no Webcast do meu amigo Thiago Alencar neste link. Irei compatilhar hoje uma rotina que utilizo para atualizar as estatísticas das tabelas dos bancos que administro.

Antes de iniciar, recomendo também olharem os scripts do Ola Hallengren neste link. Na página dele temos três rotinas distintas que compõem uma única solução, uma de backup, uma de verificação de consistência e uma de manutenção de índices, minha rotina se interliga com a rotina de manutenção de índices dele em certo momento, denominada IndexOptimize.

Finalmente falando sobre minha rotina, o processo de atualização de estatísticas é uma preocupação que todo DBA (acidental ou não) deve ter. Eu já vi em muitos locais serem utilizados os Maintenance Plans do SQL Server para tal finalidade, porém, eu acho esse recurso muito limitado em alguns pontos: não ter como efetuar a atualização somente de estatísticas que sofreram modificação, definir somente um fullscan ou uma porcentagem para todas as estatísticas e não poder atualizar mais de uma estatística ao mesmo tempo em paralelo.

sexta-feira, 13 de junho de 2014

Monitorando servidores Microsoft SQL Server - It`s free! - Parte 04 - Season Finale

Olá pessoal!

Não deixem de conferir as partes anteriores (parte 01parte 02 e parte 03).

Neste post vamos utilizar, na minha opinião, a forma mais interessante de monitoramento com o Zabbix, o monitoramento via agente. Todo profissional que lida com a plataforma Microsoft em algum momento teve de utilizar o famoso "perfmon" para criar um "Data Collector" ou visualizar em tempo real algum indicador do Windows. 

terça-feira, 27 de maio de 2014

Monitorando servidores Microsoft SQL Server - It`s free! - Parte 03

Olá pessoal!

Dando continuidade as parte 01 e parte 02 dos artigos desta série, vamos configurar a primeira forma de monitoramento do Zabbix utilizando SNMP. Abaixo, a definição que existe no site da Microsoft:

"O protocolo de gerenciamento de rede simples (SNMP) é um padrão de gerenciamento de rede amplamente usado em redes TCP/IP.
O SNMP fornece um método de gerenciamento de hosts de rede, como computadores servidores ou estações de trabalho, roteadores, pontes e concentradores a partir de um computador com uma localização central em que está sendo executado o software de gerenciamento de rede. O SNMP executa serviços de gerenciamento utilizando uma arquitetura distribuída de sistemas de gerenciamento e agentes."
Texto completo aqui.