Đây là phiên bản PowerShell:
Sử dụng các đối tượng quản lý máy chủ SQL (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
}
Tùy thuộc vào số lượng cơ sở dữ liệu, bạn có thể sử dụng chức năng trên đối với danh sách từng tên cơ sở dữ liệu được điền trong một biến và xuất tất cả cùng một lúc, nếu giao dịch với một máy chủ:
$DBList = 'MyDatabase1','MyDatabase2'
foreach ($d in $DBList) {
Find-EmptyTables -server MyServer -database $d |
Select @{Label="Database";Expression={$d}}, Schema, Name, RowCount
}