클라이언트에서 SQL Server에 대한 연결을 확인하는 쉬운 방법


18

문제 해결을 위해 SQL Server에 연결할 수없는 응용 프로그램과 상관없이 클라이언트가 SQL Server 인스턴스에 연결할 수 있는지 확인하고 싶습니다.

기본 Windows 시스템 도구를 사용하여이를 수행하는 쉬운 방법이 있습니까 (즉, 타사 소프트웨어를 설치할 필요가 없음)? 스크립트 나 네트워크 응용 프로그램을 사용하고 있습니까?


내 노트북에서 sqlserver odbc 연결을 만들고 sqlserver에 대한 액세스를 테스트 할 수 있습니다. 그러나 sqlserver에 액세스하도록 구성된 모든 클라이언트에서 sqlserver odc 드라이버를 찾을 수 있는지 여부는 아닙니다. 그러나 이것이 발견되면 telnet으로 서버의 sqlserver prot의 도달 가능성을 확인한 후 다음 테스트가 될 것입니다.
miracle173

답변:


15

서버가 TCP / IP를 사용하는 경우 간단한 방법은 SQL Server 포트에 텔넷으로 연결하고 연결되어 있는지 확인하는 것입니다. 기본적으로 포트 1433이므로 다음과 같이 작동합니다.

telnet servername 1433

아마도 대부분의 경우에 적합 할 것입니다.

다른 포트 또는 동적 포트 (명명 된 인스턴스와 공통)를 사용하는 경우 현재 수신중인 포트를 결정해야합니다. SQL Server 구성 관리자가 특정 포트인지 또는 동적 포트인지 확인하십시오. 동적 포트를 사용하는 경우 서버에 여러 인스턴스가없는 한 netstat -abn사용중인 것을 찾는 가장 간단한 방법 일 것입니다. 그렇지 않으면 Windows 이벤트 로그 또는 SQL Server 오류 로그를 탐색하여 인스턴스에서 사용중인 포트를 나타내는 메시지를 찾으십시오.

SQL Server에서 Named Pipes를 사용 하는 경우 컴퓨터의 공유에 액세스 할 수 있으면 네트워크에 적절한 연결이되어 있다고 생각 합니다. 이 기사에서는 더 나아가 IPC $ 공유에 연결해 볼 수 있다고 말합니다.

http://msdn.microsoft.com/en-us/library/aa275787%28v=sql.80%29.aspx

net use \\servername\IPC$

이 내용은 SQL Server 2000 용으로 작성되었지만이 측면이 전혀 바뀌지 않았다고 생각합니다.


2
클라이언트가 "SQL Server 인스턴스에 연결할 수 있는지"알 수 없습니다. 포트가 수신 대기 중인지 테스트 중입니다.
토마스 스트링거

4
... 클라이언트 시스템이 "SQL Server에 연결할 수없는 응용 프로그램과 관계없이 SQL Server 인스턴스에 연결할 수 있는지 확인합니다." 네트워크 연결 이외의 모든 것은 응용 프로그램 문제를 처리합니다.
db2

22

SQL 연결을위한 간단한 테스트 방법은 파일 확장자가 "UDL"인 빈 텍스트 파일을 만드는 것입니다. 메모장에서 만들 수 있습니다. 그리고 어떤 이름을 가질 수 있습니다. "TestSQL.UDL"을 사용합니다

Windows PC의 바탕 화면에 저장하고 두 번 클릭하십시오.

SQL Server의 IP 주소와 SQL 사용자 이름 및 비밀번호를 입력 할 수있는 "데이터 링크 속성"대화 상자가 나타납니다.

"연결 테스트"버튼을 클릭하여 연결할 수 있는지 확인하십시오.

여기에 이미지 설명을 입력하십시오


공급자 탭을 클릭하고 올바른 OLE DB 공급자를 선택하십시오. "SQL Server 용 Microsoft OLE DB 공급자"
DaveB

데이브, 환영합니다. 게시물 (왼쪽 아래)을 편집하여이 추가 정보를 추가 할 수 있습니다. 그런 다음 댓글을 삭제하십시오.
Michael Green

설치 여부에 관계없이 거의 모든 서버에서 작동하기 때문에 이것은 정말 좋은 대답입니다. 메모장 만 있으면됩니다. 이 훌륭한 답변에 감사드립니다. 실제로 클라이언트가 SQL 연결이 작동하고 있음을 확신시킬 수있었습니다.
robnick

8

당신은이 제공 Microsoft.SqlServer.Smo로컬 컴퓨터에서 사용자의 GAC에 어셈블리를이 쉽게 PowerShell을 수행 할 수 있습니다 :

[Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null

$server = New-Object Microsoft.SqlServer.Management.Smo.Server("YourSqlServerName")

# do a simple operation to see if you can get data
Try {
    $server.Version | Out-Null
    Write-Host "SQL Server connection successful!!!"
}
Catch [System.Exception] {
    Write-Host "Error connecting to SQL Server..."
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.