Um script útil para testar a conectividade do servidor sql caso o endereço IP de um servidor seja alterado ou uma regra ACL que resulte em perda de conexão. Poderia facilmente alterar para funcionar diariamente e enviar um e-mail caso a conexão caia.
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True)]
[string]$ServerName,
[Parameter(Mandatory=$True)]
[string]$DatabaseName,
[Parameter(Mandatory=$True)]
[string]$Username,
[Parameter(Mandatory=$True)]
[string]$Password
)
$connectionString = [string]::Format( "server={0};database={1};uid={2};pwd={3};", $ServerName, $DatabaseName,$Username,$Password)
$conn = New-Object system.Data.SqlClient.SqlConnection
$conn.connectionstring = $connectionString
$conn.open()
switch ($conn.State)
{
"Open" { Write-Host "Connection Works"; }
Default { Write-Host "The connection is $($conn.State). Error connecting to DB. Check Acl rules or windows firewall"; }
}
Uso
.Test-SqlServer.ps1 -ServerName <hostname_here> -DatabaseName <db_here> -Username <user_here> -Password <pass_here>