Ini adalah versi PowerShell:
Menggunakan SQL Server Management Objects (SMO)
function Find-EmptyTables ($server,$database)
{
# Load SMO assembly
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | Out-Null
$s = New-Object 'Microsoft.SqlServer.Management.Smo.Server' $server
$db = $s.Databases.Item($database)
$db.Tables | Where-Object { $_.RowCount -eq 0 } | Select Schema, Name, RowCount
}
Bergantung pada jumlah basis data Anda dapat menggunakan fungsi di atas terhadap daftar setiap nama basis data yang dihuni dalam suatu variabel dan mengeluarkan semuanya pada saat yang bersamaan, jika berurusan dengan satu server:
$DBList = 'MyDatabase1','MyDatabase2'
foreach ($d in $DBList) {
Find-EmptyTables -server MyServer -database $d |
Select @{Label="Database";Expression={$d}}, Schema, Name, RowCount
}