Script para testar a conexão do servidor Sql

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>