Saya memiliki MS SQL 2008 R2, 500 database. Apa cara yang paling efisien, termudah, dan 'modern' untuk menanyakan semua ukuran basis data.
Output harus memiliki kolom:
- DatabaseName
- Ukuran DataFiles
- LogFilesSize
sql
sql-server
tsql
sql-server-2008-r2
Alex Aza
sumber
sumber
Saya tidak tahu persis apa yang Anda maksud dengan efisiensi tetapi ini langsung dan itu bekerja untuk saya:
Dengan hasil seperti:
Catatan: terinspirasi oleh artikel ini
sumber
Berikut ini adalah kueri sederhana, cepat, dan andal yang akan memberikan semua nama file dan database, ukuran dan juga status database (misalnya ONLINE) dalam output yang bagus, mudah dibaca:
sumber
dengan Total ukuran Database dipesan Desc
sumber
Semua tampak sangat rumit! Atau apakah saya melewatkan sesuatu?
Tentunya yang Anda butuhkan adalah sesuatu seperti:
atau jika Anda tidak ingin log:
sumber
silakan temukan lebih banyak deatils atau unduh skrip dari tautan di bawah ini https://gallery.technet.microsoft.com/SIZE-OF-ALL-DATABASES-IN-0337f6d5#content
sumber
sumber
GROUP BY DB.name, DB.database_id ORDER BY DB.database_id
mempertahankan pesanan meja.Saya baru-baru ini menemukan halaman ini mencari sesuatu seperti ini. Untuk berjaga-jaga jika seseorang menemukan ini dan hanya tertarik pada basis data pengguna inti, Anda dapat menggunakan sesuatu seperti ini yang tidak termasuk Master, msdb ...
sumber
sumber
Bukan untuk mencuri jawaban Anda dan mengadaptasinya untuk poin atau apa pun, tapi di sini ada faktorisasi lain:
sumber
Yang lebih baik dan lebih sederhana
Ini akan memberi Anda ukuran File Data dan File Log secara terpisah seperti di bawah ini
sumber
Kode berikut ini bekerja dengan baik untuk saya.
sumber
Versi Sederhana & Peningkatan:
sumber
kadang-kadang masalah KEAMANAN mencegah meminta semua db dan Anda harus meminta satu per satu dengan awalan db, untuk kasus-kasus tersebut saya membuat kueri dinamis ini
sumber