我正在使用 sqlpackage.exe 创建动态数据库来运行单元测试。这在本地工作 100% 的时间,但不是在 TFS 中。所有单元测试都使用 locahost\sqlexpress 的集成安全性。TFS 会随机导致 sqlpackage.exe 返回以下错误。
对于单元测试,我使用的是此处描述的模式,但进行了一些修改以使用带有 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”已被授予每个服务器角色(系统管理员、公共等)。
有谁知道为什么这会在我的所有测试中间歇性出现?请记住,这只发生在 TFS 构建自动化单元测试中。