2009-12-23 4 views
2

Windows Azure 작업자 역할 (SQL Azure가 아니라 원격으로 호스팅 된 SQL Server 2008 Standard Edition)에서 SQL Server 2008 인스턴스에 연결하려고 시도하고 있지만 다음 오류 메시지Windows Azure에서 원격 SQL Server 2008에 연결

System.Data.SqlClient.SqlException : SQL Server에 연결하는 동안 네트워크 관련 오류나 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. ...에 System.Data.SqlClient.SqlInternalConnection.OnError (SQLEXCEPTION 예외, 부울 breakConnection)에서 - (공급자 : SQL 네트워크 인터페이스, 오류 26 오류 지정된 서버/인스턴스 찾기)

코드 조각은 다음이다 :

using (var connection = new SqlConnection("MY CONNECTION STRING") 
{ 
    connection.Open(); 
    var command = new SqlCommand("Select 1", connection); 

    try 
    { 
    var res = command.ExecuteScalar(); 
    } 
    catch (Exception e) { 
    Log.Log("error", e.ToString()); 
    } 
} 

내가 내 로컬 명령 줄에서 미리보기를 실행하면 (직접 원격 SQL Server에 액세스), 그것은 확인을 작동, 아직 윈도우 Azure에서 실행할 때, 나는 최종까지 오류 메시지 개요와 여기에 위 . 확실히 연결 문자열에 문제가 없는지 확인하기 위해 Azure로 푸시 된 소스 코드의 문자열을 하드 코딩하여 다시 시도합니다. (단지 100 %가 되겠지만 여전히 동일한 문제를 겪고 있습니다.)

SQL Server 2008 인스턴스에 방화벽 설정이 없으므로 아이디어가 부족합니다.

누군가 내가 여기서 잘못하고있는 것을 발견 할 수 있습니까?

답변

4

1433 이외의 포트에서 실행중인 외부 비 Azure SQL Server 인스턴스에 연결할 때 Azure 작업자 역할에서 SQL Server Resolution Protocol (또는 SQL Server Browser)과 관련된 몇 가지 문제점을 발견했습니다.이 경우 도움이 될 수 있습니다 명시 적으로 연결 문자열에 인스턴스의 TCP 포트를 지정합니다 :

Data Source={domain/ip},{port}; 
Network Library=DBMSSOCN; 
Initial Catalog={dbname}; 
User ID={user}; 
Password={pw} 

아니, 원격 데스크톱을 사용할 수 없습니다 또한 Connect from Azure to an SQL Server Named Instance

+0

실제로, Azure에서는 UDP가 네트워크에 의해 릴레이되지 않습니다. –

1

원격 데스크톱을 통해 Azure 인스턴스를 제어 할 수 있습니까?

당신이에 로그온 시도 할 경우

telnet yoursqlserverhostname 1433 

를이 블록, 당신은 네트워크가 제대로 구성되지 않았 음을 알고 있다면. 일반적으로 사이에 호스트 또는 네트워크상의 방화벽 문제.

+0

참조하십시오. –