นี่คือรุ่น PowerShell:
การใช้วัตถุการจัดการเซิร์ฟเวอร์ 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
}
ขึ้นอยู่กับจำนวนฐานข้อมูลที่คุณสามารถใช้ฟังก์ชั่นด้านบนกับรายการของชื่อฐานข้อมูลแต่ละชื่อที่บรรจุในตัวแปรและส่งออกทั้งหมดในเวลาเดียวกันหากจัดการกับเซิร์ฟเวอร์เดียว:
$DBList = 'MyDatabase1','MyDatabase2'
foreach ($d in $DBList) {
Find-EmptyTables -server MyServer -database $d |
Select @{Label="Database";Expression={$d}}, Schema, Name, RowCount
}