针对服务器运行检查
Import-Module dbatools
Import-Module dbachecks
$Server = "AMCB123"
$Database = "DBA"
# Create recordset of servers to evaluate
$sconn = new-object System.Data.SqlClient.SqlConnection("server=$Server;Trusted_Connection=true");
$q = "SELECT DISTINCT servername FROM DBA.[dbo].[Server_Group] WHERE ID =1;"
$sconn.Open()
$cmd = new-object System.Data.SqlClient.SqlCommand ($q, $sconn);
$cmd.CommandTimeout = 0;
$dr = $cmd.ExecuteReader();
# Loop through the servers and build an array
while ($dr.Read()) {
Get-DbaMaxMemory -SqlServer $dr.GetValue(0) | Format-Table
}
$dr.Close()
$sconn.Close()
我已经列出了 sql 服务器(根据组在表中的阶段、产品、DR 服务器),现在我想比较具有组 id 的服务器以检查具有相同组 id 的服务器(阶段、产品、DR)是否有MAXMemory 配置是否相同。
为此,我正在使用下面的 powershell 脚本,你能帮我解决这个问题吗,我创建了一个包含所有 servewith grop id 的表。
请求通过服务器帮助我完成循环并构建一个阵列,以便我可以运行 MAXMEMORY powershell 命令来使用所有服务器的组 ID 进行比较。
我已将所有服务器详细信息收集到表 dbo.server 组
中,powershell 脚本应使用 ID 遍历表并检查 ID 组中的服务器是否具有相同的 MAXMEMORY 配置 ID server_name Environment 1 ABC0123 prod
1 ABC5123 stage
1 ABC4123 DR
2 DEF0123 产品
2 DEF5123 阶段
2 DEF4123 DR
我正在尝试使用 powershell 脚本,它将根据 ID 检查和比较 MAXMEMORY 配置(检查相同 group_id 的 stage、prod、DR 服务器是否具有相似的设置),如果没有,则会显示警告/message 作为 group_ids 服务器未进行类似配置。请帮我写剧本