Arquivo por categoria: Scripts Úteis – SQL

Scripts úteis de SQL para administração de instâncias;

out 06

SQL Saturday 325 SP – Material

Foi muito gratificante participar do SQL Saturday #325 em São Paulo. Muita gente de todo o Brasil, vários palestrantes feras entre MVPs e MCMs, além de poder falar sobre o Transaction Log. Teremos outra sessão no SQL Saturday #329 no Rio de Janeiro, espero vocês por lá. Enquanto isso, quem quiser baixar o PPT e …

Continue lendo »

maio 19

Operações de IO e SSD Cards

Muito se fala sobre as placas SSD que prometem mais de 290.000 IOPS e latências de microsegundos, utilizando o barramento PCI Express 2.0 4x, por exemplo, resolvendo o problema de IO. No dia 29 de Maio das 9:30 as 13:30 teremos um evento no Microsoft Technology Center de São Paulo, realizado pela Fusion-io que é um …

Continue lendo »

set 30

Tamanho e utilização dos arquivos

Saber o tamanho dos arquivos de dados e TLog bem como o quanto do espaço alocado já foi utilizado é necessário em praticamente todas as análises ou documentações, portanto vamos ver um script que faz isso muito bem, mostrando detalhadamente todas as informações relacionadas a tamanho, localização e espaço utilizado de cada arquivo: SELECT CAST(sysfiles.size/128.0 …

Continue lendo »

ago 30

Top queries por consumo

Uma situação muito comum é precisar levantar quais são as queries com maior tempo de CPU, I/O ou consumo de páginas em memória.   Ajustei este script disponível no próprio BOL pra pegar também as operações de leitura do disco da DMV sys.dm_exec_query_stats fazendo um cross apply com a sys.dm_exec_sql_text pegando o texto das queries e sys.dm_exec_query_plan …

Continue lendo »

abr 21

Fragmentação das bases

No artigo “Seu job de rebuild demora muito” explicamos a diferença entre os principais tipos de fragmentação das bases do SQL Server, a diferença entre REBUILD e REORGANIZE, o que é FILL FACTOR, além de um script que faz REORGANIZE quando a fragmentação externa é inferior a 30% e REBUILD se for maior. Também explica …

Continue lendo »

jan 27

Quem tem permissões de SA no SQL?

É muito comum termos que verificar quais são os usuários com permissão de SA no SQL Server para diminuir vulnerabilidade e são muitos cliques até chegar na server role, além de ter que gerar um print de tela.  Com este script podemos verificar quem é SA e salvar em modo texto pra documentar ou utilizar …

Continue lendo »

jan 22

Listar todas as bases e data do último backup

    Para saber quando foi feito o último backup de todas as bases da sua instância, este script do Pinal Dave resolve de forma simples e eficaz:         SELECT sdb.Name AS DatabaseName, COALESCE(CONVERT(VARCHAR(12), MAX(bus.backup_finish_date), 101),’-‘) AS LastBackUpTime FROM sys.sysdatabases sdb LEFT OUTER JOIN msdb.dbo.backupset bus ON bus.database_name = sdb.name GROUP BY …

Continue lendo »

jan 15

Listar usuários e permissões no SQL Server

    Este script do www.pythian.com lista todas as bases, quais database roles possuem acessos, todos os usuários e as roles das quais ele participa. Excelente para documentar ou confirmar se as permissões estão corretas:       DECLARE @DB_USers TABLE (DBName sysname, UserName sysname, LoginType sysname, AssociatedRole varchar(max),create_date datetime,modify_date datetime) INSERT @DB_USers EXEC sp_MSforeachdb …

Continue lendo »

nov 23

Atachar base sem o arquivo de TLOG

    Já me deparei diversas vezes com situações onde não tinha backup nem arquivo de transaction log, somente uma cópia do arquivo de dados (mdf). Na maioria das vezes esta cópia salvou a pele de meio mundo, então vamos aprender uma das formas de como atachar uma base sem o arquivo de transaction logs. …

Continue lendo »

nov 22

Listar todos os arquivos da instância

Muitas vezes precisamos saber onde estão e quais são os arquivos utilizados no servidor, seja para fazer uma limpeza, para manipular os arquivos utilizados, documentar ou qualquer outra finalidade. Eu já migrei um servidor com mais de 80 bases e identificar os arquivos foi fundamental pois não havia espaço em disco para backup. Abaixo um …

Continue lendo »

nov 14

Consumo de CPU por base

Pra quem gerencia instâncias com mais de uma base, fica fácil evidenciar. Hoje logo cedo precisei identificar qual base de um servidor era a maior responsável pelo consumo de CPU. Este script é uma baita de uma mão na roda:   WITH DB_CPU_Stats AS (SELECT DatabaseID, DB_Name(DatabaseID) AS [DatabaseName], SUM(total_worker_time) AS [CPU_Time_Ms] FROM sys.dm_exec_query_stats AS …

Continue lendo »

nov 08

Status Killed/Rollback é um bug?

  Esta pergunta é muito interessante e a resposta é: depende…   O que significa Killed/Rollback na coluna cmd? Este tipo de status é para transações canceladas antes de sua conclusão, onde a operação é de insert, update, delete. Como os dados estão sendo alterados, se você pedir pra cancelar a operação antes de terminar, …

Continue lendo »

nov 06

Matando processos no SQL

Em alguns procedimentos é necessário ter exclusividade na base como um restore, por exemplo. Aí você abre o Activity Monitor e se depara com dezenas ou centenas de conexões. Outras bases estão em produção portanto você não pode alterar portas ou isolar a nível de servidor. Como matar os processos de usuários somente da base …

Continue lendo »

out 25

Seu job de rebuild demora muito?

Muitos ambientes possuem um job agendado para fazer o rebuild dos índices mas com o constante crescimento da base acabam chegando próximos da janela ou, quando não monitorados, até passam do horário permitido. Existe uma alternativa que se aplica a grande maioria dos ambientes. Para entendermos melhor, vamos relembrar os tipos de fragmentação e a …

Continue lendo »

Posts mais antigos «