我們有一個WCF服務,用於連接到同一臺機器上的數據庫。之後,我們將數據庫和服務都移到了不同的機器上(兩臺虛擬機都在同一個物理機箱上,可以互相看到)。如何通過WCF連接到另一臺虛擬機上的數據庫?
我已經在數據庫機器(WCFServiceLogin)上設置了一個標準的Windows登錄名,在數據庫中添加了指向該Windows登錄名的數據庫登錄名,向指向該數據庫登錄名的數據庫添加了一個SQL用戶,在Visual Studio項目設置連接字符串:
Data Source=NewServer;Initial Catalog=MyDB;Integrated Security=True;
UserID=WCFServiceLogin;Password=password
當我試圖讓觸及數據庫中的電話,我得到這個錯誤:
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
我怎樣才能讓我的WCF操作成功從新機器上的數據庫讀取,唱正確的登錄?
更新
我想我已經得到了一個有點遠。我在服務所在的機器上創建了一個WCFServiceLogin登錄,其密碼與NewServer上對應的密碼相同。然後,我將WCF服務設置爲以此登錄名運行,並將SQL登錄名更改爲使用Windows身份驗證,並從連接字符串中刪除了用戶名和密碼。最後,我運行exec sp_grantlogin'NewServer \ WCFServiceLogin'。
我現在收到此錯誤,但:
Cannot open database "MyDB" requested by the login. The login failed. Login failed for user 'NewServer\WCFServiceLogin'.
所以它看起來像它的嘗試,它只是不這樣做與正確的用戶登錄。
WCF服務是從IIS內部運行的嗎? – Russell 2011-02-15 20:31:54
AD中是否提供WCFServiceLogin?如果沒有,WCF機器可能難以使用此登錄。 – Russell 2011-02-15 20:37:08