Использование модуля Powershell SQLSERVER:
- Запустите приведенную ниже команду для установки модуля оболочки питания sqlserver
# install-module sqlserver
Import-Module sqlserver
# getting the servers list
$servers = Get-Content C:\sql\servers.txt
Foreach($server in $servers)
{
cd sqlserver:/sql/$server
# checking if a server has more than one instance
IF ((dir).count -gt 1)
{
cd sqlserver:\sql\$server
dir | %{ $instname = $_.displayname
"***************************************$server $instname*************************************************"
"Enabling Server Level Triggers on: $server\$instname"
cd sqlserver:\sql\$server\$instname\triggers
dir | %{$_.refresh()}
# enabling server level triggers
dir | ?{$_.isenabled -eq $false} | %{$_.isenabled = $true ; $_.alter() ; $_.refresh()}
cd sqlserver:\sql\$server\$instname\databases
# looping through the databases on each instance and enabling the triggers
dir | %{ $DB = $_.name
cd sqlserver:\sql\$server\$instname\databases\$DB\Triggers
"Enabling Triggers on: $DB"
dir | %{$_.refresh()}
#$server
dir | ?{$_.isenabled -eq $false} | %{$_.isenabled = $true ; $_.alter() ; $_.refresh()}
}
}
}
else # for servers with default instance
{
cd sqlserver:\sql\$server\default
cd sqlserver:\sql\$server\default\triggers
"***************************************$server*************************************************"
"Enabling Server Level Triggers on: $server\Default"
dir | %{$_.refresh()}
# enabling server level triggers
dir | ?{$_.isenabled -eq $false} | %{$_.isenabled = $true ; $_.alter() ; $_.refresh()}
cd sqlserver:\sql\$server\default\databases
# looping through the databases on each instance and enabling the triggers
dir | %{ $DB = $_.name
cd sqlserver:\sql\$server\default\databases\$DB\Triggers
"Enabling Triggers on: $DB"
dir | %{$_.refresh()}
#$server
dir | ?{$_.isenabled -eq $false} | %{$_.isenabled = $true ; $_.alter() ; $_.refresh()}
}
}
}
Write-Host "Done....."
cd c:\
Start-Sleep -s 10