首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DevOps管道单元试验中中密度纤维板的添加与使用

DevOps管道单元试验中中密度纤维板的添加与使用
EN

Stack Overflow用户
提问于 2020-11-09 16:48:58
回答 1查看 368关注 0票数 1

我希望使用.MDF Server数据库文件,在通过DevOps管道进行部署时,在Visual期间对该文件执行单元测试。

我将.MDF.LDF文件添加到单元测试项目中,并且能够在本地执行。我已经确认,使用列出文件夹内容的PowerShell脚本将文件正确部署到管道中。我还确认了案件敏感性,确保一切都是大案要案。

当向现有的工作管道添加Visual步骤时,当尝试在测试初始化期间保存到数据库时,我最初收到了此错误:

"D:\A\1\S\APPCORETESTS\BIN\RELEASE\NETCOREAPP3.1\MYTESTDATABASE.MDF“:更新数据库Microsoft.Data.SqlClient.SqlException失败,因为数据库是只读的

我在测试初始化期间添加了以下调用:

代码语言:javascript
运行
复制
ALTER DATABASE [MYTESTDATABASE.MDF] SET READ_WRITE

现在,我得到了以下错误:

无法打开物理文件"D:\a\1\s\AppCoreTests\bin\Release\netcoreapp3.1\MYTESTDATABASE.mdf".的

操作系统错误5:“5(访问被拒绝)

无法打开物理文件"D:\a\1\s\AppCoreTests\bin\Release\netcoreapp3.1\myTestDatabase_log.ldf".操作系统错误5:“5(访问被拒绝。)”。

我能够使用以下连接字符串打开到.MDF文件的连接(来自一个配置,因此两个反斜杠"\"):

代码语言:javascript
运行
复制
"Server=(LocalDB)\\MSSQLLocalDB;AttachDbFileName='|DataDirectory|\\MYTESTDATABASE.MDF'"

并且我能够运行一个查询,返回多个数据库,包括我的数据库(以及tempdb、master等):

代码语言:javascript
运行
复制
select name from sys.databases

如果此错误发生在本地,我将为.MDF / .LDF所在的文件夹设置文件夹权限,但不知道这在DevOps管道中是否可行,或者是否是解决此问题的正确方法。

EN

回答 1

Stack Overflow用户

发布于 2020-11-10 06:03:17

您使用的是哪个代理,托管代理还是自托管代理?

Azure DevOps管道通过服务帐户访问文件,我们应该检查服务帐户的权限并确保它有足够的权限。

如果您使用的是托管代理,它通过这个帐户test Build Service(Org name)访问文件,我们需要打开项目设置->存储库->选择回购和检查服务帐户test Build Service ({Org name})权限,还需要检查管道->设置。

如果使用自托管代理并访问本地文件,则应检查文件权限.步骤:选择本地->Properties->Security,服务帐户名应该是Administrators(代理服务名称\Administrators)或用户(代理服务名称\用户)。

顺便说一下,我们可以将代理服务帐户更改为您的所有者帐户。

步骤:在代理机器上打开服务并搜索代理服务帐户,检查下面的图片,只需将帐户名和密码更改为您的帐户,然后它将使用此帐户执行操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64755765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档