如何使用 PowerShell 查询 SQL 服务器

How to query SQL Server using PowerShell

我有从网站获得的代码,它使用 window 身份验证连接到我的 SQL 服务器,但我不确定如何选择数据库并查询一些 table?.

[Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | out-Null
$s = new-object ('Microsoft.SqlServer.Management.Smo.Server') "server instance"
$s.ConnectionContext.LoginSecure=$true
$s.Databases | select name, size, status

如果我 运行 这段代码,它会显示一个数据库列表,但我想选择一个名为“LitHold”的数据库并从该数据库中查询一些 table。

对于 SMO 就像您在问题中提到的那样,您可以 运行 使用 ExecuteWithResults() 查询 return 数据,如下所示:

$s =  New-Object Microsoft.SqlServer.Management.Smo.Server "server instance"
$db = $s.Databases.Item("master")

$query = "SELECT * FROM [master].[sys].[databases] ORDER BY [name];"
$result = $db.ExecuteWithResults($query)

# Show output
$result.Tables[0]