2011-09-02 95 views
1

我們目前正在針對SQL Azure進行開發,並已嘗試將工作者角色指向SQL Azure中的主數據庫以自動執行需要主服務器的數據庫操作。無法從工作角色連接到SQL Azure主服務器

不幸的是,這似乎並不奏效。

有點背景:「允許其他Windows Azure服務訪問此服務器」已啓用,並且我們設置了防火牆規則來啓用此功能。

我們懷疑它可能是缺少防火牆規則的關鍵。我們的工作人員的角色與其他SQL天藍數據庫工作,只是不對現在的主人...

如果任何人都可以指出我在正確的方向,我將不勝感激!

乾杯, 伊阿古

+0

你可以發佈你得到的具體錯誤?另外,如果將RDP添加到工作角色虛擬機中,您可以遠程登錄到SQL Azure地址和端口? – SpaceghostAli

回答

2

與主數據庫中的問題竟然是一個紅色的鯡魚。真正的問題是我正在使用System.Data.SqlClient和Microsoft.SqlServer.Management對象來對master執行一個SQL批處理腳本(下面的樣式代碼)。

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

多敲打我們的頭撞牆後,這個問題竟然是,所需的DLL來使用這些庫只是沒有在Azure中工作(我們不斷收到有關缺少的依賴關係的錯誤)。最後,我們的解決方案是將批處理腳本分解爲許多下標(基本上分成GO語句所在的任何部分)並使用標準的ADO.NET對象運行。事實證明,這是一個更好,更通用的解決方案,因此它爲我們解決了問題!