1
를 작동하지 않는 나는 다음과 같은 PowerShell을 코드가 있습니다은 SQL Server SMO 연결 시간 초과
function Get-SmoConnection
{
param
([string] $serverName = "", [int] $connectionTimeout = 0)
if($serverName.Length -eq 0)
{
$serverConnection = New-Object `
Microsoft.SqlServer.Management.Common.ServerConnection
}
else
{
$serverConnection = New-Object `
Microsoft.SqlServer.Management.Common.ServerConnection($serverName)
}
if($connectionTimeout -ne 0)
{
$serverConnection.ConnectTimeout = $connectionTimeout
}
try
{
$serverConnection.Connect()
$serverConnection
}
catch [system.Management.Automation.MethodInvocationException]
{
$null
}
}
$connection = get-smoconnection "ServerName" 2
if($connection -ne $null)
{
Write-Host $connection.ServerInstance
Write-Host $connection.ConnectTimeout
}
else
{
Write-Host "Connection could not be established"
}
SMO 연결 시간 제한을 설정하려고하는 부분을 제외하고, 작동하는 것 같다합니다. 연결에 성공하면 ServerConnection.ConnectTimeout이 2 (초)로 설정되어 있는지 확인할 수 있지만 SQL Server 인스턴스에 대해 가짜 이름을 제공하면 여전히 15 초 동안 연결하려고 시도합니다 (이는 내가 믿는 것입니다. 기본 타임 아웃 값).
SMO 연결 시간 제한 설정에 경험이있는 사람이 있습니까? 미리 감사드립니다.
내 코드를 테스트 해 주셔서 감사합니다. 그동안 나는 C#과 동등한 시도를했다. 타임 아웃을 설정하고 기존의 서버가 아닌 서버에 연결하려고하면 작동한다. 다른 컴퓨터에서 PowerShell 스크립트를 테스트해야하지만 작동 할 것으로 판단됩니다. 테스트 컴퓨터를 엉망으로 만들 수 있었는지 전혀 알지 못합니다. –