如何使用 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]
我有从网站获得的代码,它使用 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]