2011-09-02 2 views
1

현재 SQL Azure에 대해 개발 중이며 마스터가 필요한 데이터베이스 작업을 자동화하기 위해 SQL Azure에서 작업자 역할을 마스터 데이터베이스로 지정하려고했습니다 (실패한 경우).작업자 역할에서 SQL Azure 마스터에 연결할 수 없습니다.

불행히도 이것은 효과가없는 것 같습니다.

백그라운드 비트 : "다른 Windows Azure 서비스가이 서버에 액세스 할 수 있도록 허용"이 사용되며 방화벽 규칙을 사용하도록 설정했습니다.

우리는이 문제를 해결하는 열쇠가 누락 된 것으로 판단됩니다. 우리의 작업자 역할은 다른 SQL azure dbs에 대해 작동합니다. 현재 마스터를 상대로하지 않습니다 ...

누군가 올바른 방향으로 나를 가리킬 수 있다면 나는 감사 할 것입니다!

건배, 이아고

+0

특정 오류를 게시 할 수 있습니까? 또한 RDP를 작업자 역할 VM에 넣으면 SQL Azure 주소와 포트로 텔넷 할 수 있습니까? – SpaceghostAli

답변

2

마스터 데이터베이스와의 문제는 레드 헤링 (Red Herring)으로 밝혀졌다. 진짜 문제는 System.Data.SqlClient 및 Microsoft.SqlServer.Management 개체를 사용하여 마스터 (아래 스타일의 코드)에 대해 SQL 배치 스크립트를 실행한다는 것이 었습니다.

var serverConnection = new ServerConnection(sqlConnection); 
var server = new Server(serverConnection); 
server.ConnectionContext.ExecuteNonQuery(sql); 

많은 벽에 우리의 머리를 두드리는 후, 문제는 (우리가 누락 종속성에 대한 오류를 받고 계속) 필요한 DLL이이 라이브러리를 그냥 푸른에서 작동하지 않았다 사용하는 것으로 밝혀졌다.

결국이 솔루션은 일괄 스크립트를 여러 개의 하위 스크립트로 분해하여 (기본적으로 GO 문이있는 부분으로 분할되어) 표준 ADO.NET 개체를 사용하여 실행됩니다. 이것은 더 나은, 더 다목적 솔루션으로 밝혀 졌으므로 결국 우리를 위해 OK를 만들었습니다!

관련 문제