相关疑难解决方法(0)

我应该使用哪种 PowerShell 技术来与 SQL Server 通信?

我最终想使用 PowerShell 来替换我们用于 SQL 实例监视器的旧 KornShell 脚本。但是,我很难让我的大脑围绕 PowerShell 实际与 SQL Server 通信的所有不同方式。不确定这是否是全部,但我可以通过以下 5 种完全不同的方式查询 SQL 服务器的版本:

1. SQLConnection .NET 类

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=MyServer;Database=Master;Integrated Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "Select @@version as SQLServerVersion"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
Run Code Online (Sandbox Code Playgroud)

2. WMI 提供程序

$sqlProperties = Get-WmiObject 
    -computerName "MyServer"
    -namespace root\Microsoft\SqlServer\ComputerManagement10
    -class SqlServiceAdvancedProperty
    -filter "ServiceName = 'MSSQLSERVER'"
$sqlProperties.VERSION
Run Code Online (Sandbox Code Playgroud)

3. SMO

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | Out-Null
$smo-var = New-Object …
Run Code Online (Sandbox Code Playgroud)

monitoring sql-server powershell

30
推荐指数
1
解决办法
9331
查看次数

标签 统计

monitoring ×1

powershell ×1

sql-server ×1