Ho problemi a rilevare un errore in PowerShell quando una connessione non riesce a un server SQL che utilizza Invoke-Sqlcmd. Questo è un codice generico per dimostrare il problema:Powershell Try Catch invoke-sqlcmd
CLS
$server = "Localhost\fake"
try
{
Invoke-Sqlcmd -Query "SELECT DB_NAME() as [Database]" -Server $server
}
catch
{
Write-Host "Error connecting to server " $server
}
ottengo il seguente errore:
Invoke-Sqlcmd : A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
mi aspettavo di ottenere la dichiarazione di una riga: "Errore di connessione al server di Localhost \ falso"
Sono su PowerShell v3 e il tuo codice mi dà il tuo errore personalizzato. –
Anche in powershell v2 –
Grazie, è bello sapere, sono apparentemente ancora su 2. –