Apakah ada cara sederhana untuk membuat daftar ukuran setiap tabel di setiap database pada server MSSQL?
Saya telah menggunakan kueri pada sys.tables untuk mendapatkan hasil untuk satu basis data, tetapi kami memiliki> 100 basis data per server, jadi cara untuk mendapatkan hasil yang sama tetapi untuk semua basis data akan bagus.
Saat ini saya harus membuat daftar sementara database dari master.sys.databases, dan kemudian iterate dengan kursor, membangun kueri dan memasukkan hasilnya ke tabel temp sementara EXEC sp_executeSQL @SQLString
.
sql-server
Silindris
sumber
sumber
Jawaban:
Jika Anda ingin mendapatkan ini di semua lingkungan Anda, untuk semua database Anda ... dan Anda tidak keberatan menggunakan PowerShell ... Anda perlu menjalankan ini dari mesin yang setidaknya memiliki SQL Server 2008 Management Studio diinstal.
Seperti yang diberi label
DataSpaceUsed
keluaran objek SMO di "KB", Anda dapat memodifikasi ini menjadi ukuran pilihan Anda dengan hanya meletakkan referensi singkat untuk itu. Jadi jika saya ingin "MB":$_.DataSpaceUsed/1MB
.Dalam fungsinya
([string[]]$server)
, tanda kurung "[]" berarti parameter menerima array objek. Jadi, jika server Anda terdaftar dalam file, Anda dapat memanggil fungsi seperti:Saya lebih suka menggunakan
Out-GridView
awalnya untuk meninjau output, dan mudah menyalin langsung ke Excel untuk saya. Anda juga dapat menampilkan ini ke format PowerShell lain yang didukung jika diinginkan.Contoh dengan tangkapan layar, Anda juga bisa daftar server keluar:
sumber
Diambil dari Stack-Overflow: Dapatkan ukuran semua tabel dalam database
sumber
Saya menggunakan gabungan jawaban sebelumnya:
sumber
Anda dapat mencoba menggunakan
sp_msforeachdb
beberapa peringatan dengan ini.Itu dikatakan saya telah menggunakannya dengan sukses selama beberapa tahun sekarang.
Pada dasarnya itu tidak kursor dan pengganti? dengan nama DB.
Anda juga dapat mencoba versi pengganti Aaron Bertrand. Saya belum mencobanya sendiri tetapi seharusnya lebih baik.
sumber
Berikut ini akan menyelesaikan pertanyaan Anda:
sumber