我正在使用sqlpackage.exe创建动态数据库,以便对其运行单元测试。这完全可以在本地工作,但不能在TFS中工作。所有单元测试都使用locahost\sqlexpress的集成安全性。TFS会随机导致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等)。
有没有人知道为什么在我的所有测试中都会间歇性地出现这个问题?请记住,这只会在TFS构建自动化单元测试中发生。
发布于 2012-10-29 05:22:24
我不确定原因的真正根源,但当我从构建过程模板中删除"Delete Test Result“目录时,这个问题已经解决了。它必须与添加要删除和重新创建的日志/数据文件的目录有关。此后,我更改了代码,始终将测试数据库存储在直接位于C:\驱动器下的文件夹中。
https://stackoverflow.com/questions/13036080
复制相似问题