2011-10-18 55 views
1

嗨,我一直在與這個問題鬥爭整天。我有一個vs2010負載測試,它由三個不同的web性能測試組成的場景組成。VS2010負載測試失敗 - 無法打開數據庫 - 不是負載測試結果數據庫

每個Web性能測試都從正確配置並在本地運行的數據庫中選擇URL。但是,當遠程運行負載測試時,它會失敗,並顯示以下錯誤:

無法在代理程序'AGENTSERVER'上運行負載測試'負載測試'。無法打開登錄請求的數據庫'URLSDB'。登錄失敗以便使用帳戶

爲了使其正常工作,代理和控制器都設置爲在域管理員帳戶下運行,我可以通過Management Studio登錄到數據庫。我檢查了連接字符串,可以在本地運行測試,但不能遠程運行。有沒有人有任何想法?我的下一步是將連接字符串設置爲UrlsDB以使用SQL身份驗證

+1

您是否嘗試過手動從登錄到數據庫中的代理機器(例如使用Management Studio或我最喜歡的LINQPad)?也許你可以通過這種方式獲得更有用的錯誤信息。 OTOH,我敢打賭,SQL身份驗證可能會在第一次嘗試時起作用。 – agentnega

+0

我可以使用SQL身份驗證和Windows身份驗證(使用運行代理服務的帳戶)從代理計算機成功登錄,但無法運行我的負載測試 –

+0

您可以發佈連接字符串(當然,有敏感部分編輯)嗎?也許那裏有線索。你不會無意中指定本地主機或'。'作爲你的服務器名稱?另外,關於SQL Server日誌呢,可能有更有用的信息。 – agentnega

回答

1

終於設法在01:20 AM解決它。在檢查構成場景中混合的三個單獨測試的數據源時,我發現UI顯示一旦更新了所有三個更新了連接字符串,這就是爲什麼我很困惑爲什麼我要得到這些錯誤,再加上錯誤並不表明哪個連接有問題。

因此,爲了消除測試成爲問題,我從每個測試中刪除了數據源,並創建了單獨命名的全新數據源,直到有效地指向相同的sql服務器和相同的數據庫。然後我跑了測試,所有表現都正確,最後!!

所以核心問題是底層測試中的連接字符串不正確。將進一步測試UI以檢查我是否僅僅是我自己的錯誤,或者如果我發現一個錯誤,我會報告它,UI中實際上可能存在錯誤。

感謝那些誰花時間試圖幫助我解決它,去內臟,這個問題是如此輕微的,當它把我難倒了近20個小時:/

0

您正在運行測試的域管理員帳戶無法從代理計算機連接到數據庫服務器。

登錄到代理並從那裏調試數據庫連接。

請注意,在Web測試中發生阻塞呼叫的線程可能會導致負載測試出現問題。我建議您儘可能在測試實例期間加載所有測試網址。 基本上儘量減少數據庫調用。

+0

感謝您的迴應,但是我可以使用Management Studio和代理機器中的SQLCMD成功登錄,但是我的負載測試仍然失敗 –