Eu tenho o MS SQL 2008 R2, 500 bancos de dados. Qual é a maneira mais eficiente, fácil e "moderna" de consultar todos os tamanhos de bancos de dados.
A saída deve ter colunas:
- Nome do banco de dados
- DataFilesSize
- LogFilesSize
sql
sql-server
tsql
sql-server-2008-r2
Alex Aza
fonte
fonte
Não sei exatamente o que você quer dizer com eficiência, mas isso é direto e funciona para mim:
Com resultados como:
Nota: foi inspirado neste artigo
fonte
Aqui está uma consulta simples, rápida e confiável, que fornecerá todos os nomes de banco de dados e arquivos de log, tamanhos e também status de banco de dados (por exemplo, ONLINE) em uma saída agradável e fácil de ler:
fonte
com tamanho total do banco de dados solicitado
fonte
Tudo parece muito complicado! Ou eu estou esquecendo de alguma coisa?
Certamente tudo que você precisa é algo como:
ou se você não quiser o log:
fonte
encontre mais detalhes ou faça o download do script no link abaixo https://gallery.technet.microsoft.com/SIZE-OF-ALL-DATABASES-IN-0337f6d5#content
fonte
fonte
GROUP BY DB.name, DB.database_id ORDER BY DB.database_id
mantém a ordem da tabela.Recentemente, me deparei com esta página procurando algo assim. Caso alguém se depare com isso e esteja interessado apenas nos bancos de dados principais do usuário, você pode usar algo como isto, que exclui Master, msdb ...
fonte
fonte
Não para roubar sua resposta e adaptá-la para pontos ou qualquer coisa, mas aqui está outra fatoração:
fonte
Um melhor e bastante mais simples
Isso fornecerá o tamanho do (s) arquivo (s) de dados e do (s) arquivo (s) de log separadamente, como abaixo
fonte
O código a seguir funcionou muito bem para mim.
fonte
Versão simplificada e aprimorada:
fonte
às vezes, problemas de segurança impedem de solicitar todos os bancos de dados e você precisa consultar um por um com o prefixo db; nesses casos, criei essa consulta dinâmica
fonte