2012-10-23 25 views
0

我正在使用sqlpackage.exe創建動態數據庫來運行單元測試。這項工作在本地完成,但不在TFS中。所有的單元測試都使用locahost \ sqlexpress的集成安全性。 TFS將隨機導致sqlpackage.exe返回以下錯誤。sqlpackage.exe「無法打開數據庫」隨機發生

對於單元測試,我使用的模式描述爲here,但對於與SQLpackage一起使用dacpac的一些修改與nhibernate的模式導出功能相反。

sqlpackage error : *** Could not deploy package. 
sqlpackage error : Cannot open database "MessagesRepositoryTests" requested by the login. The login failed. 
sqlpackage error : Login failed for user 'DOMAIN\TFSService'. 

其他(隨機)錯誤包括另一行提及它無法導入目標模型。

sqlpackage error : *** Could not deploy package. 
sqlpackage error : Failed to import target model MessagesRepositoryTests. Detailed message Cannot open database "MessagesRepositoryTests" requested by the login. The login failed. 
sqlpackage error : Login failed for user 'DOMAIN\TFSService'. 
sqlpackage error : Cannot open database "MessagesRepositoryTests" requested by the login. The login failed. 
sqlpackage error : Login failed for user 'DOMAIN\TFSService'. 

「DOMAIN \ TFSService」已被授予每個服務器角色(sysadmin,public等)。

有沒有人有一個線索,爲什麼這會顯示在我所有的測試intermitently?請記住,這隻發生在TFS構建自動化單元測試中。

回答

0

我不確定問題的實際根源,但是當我從構建過程模板中刪除「刪除測試結果」目錄時,此問題已得到解決。它必須與正在添加日誌/數據文件以被刪除和重新創建的目錄有關。我已經改變了我的代碼,將測試數據庫直接存儲在C:\驅動器下的文件夾中。