4

我正在使用 VS2012 创建一些负载测试。我可以使用“无”的 StorageType 运行测试,但是当我将其更改为“数据库”的 StorageType 时,我得到了可怕的错误

无法打开负载测试结果数据库。检查由测试控制器(或本地机器)的连接字符串指定的负载测试结果数据库是否指定了包含负载测试模式且当前可用的数据库。有关详细信息,请参阅 Visual Studio 帮助主题“关于负载测试结果存储”。连接错误是:尝试创建负载测试结果存储库架构时发生错误:要创建数据库“LoadTest2010”,您的用户帐户必须具有 SQL Server“sysadmin”角色或同时具有“serveradmin”和“dbcreator”角色

我在一个名为 LoadTest 的非本地 SQL 副本上创建了一个数据库。当我从 SQL Tracing Connect String 对话框测试连接时,我得到了成功。

我创建了一个 SQL 用户,该用户具有 dbcreator、public、serveradmin 和 sysadmin 的服务器角色。用户有一个到 LoadTest2010 数据库的用户映射,该数据库是从 VS2012 IDE 目录中的 loadtestresultsrepository.sql 创建的。在数据库上,用户具有数据库角色成员身份 db_accessadmin、db_datareader、db_datawriter、db_owner。在 Owned Schemas 中,我在 db_datareader、db_datawriter、db_owner 和 db_securityadmin 上打勾,但是现在它们在显示时变成了蓝色方块而不是打勾。

发生什么了?Visual Studio 是在尝试创建数据库还是其他问题?

我没有使用 TestControllers 或 TestAgents 我只是使用本地运行。

4

3 回答 3

4

答案很简单。我在“SQL 跟踪连接字符串”中设置连接字符串,而不是单击负载测试窗口顶部的小“管理测试控制器”图标并从那里设置连接字符串。

现在我要删除我在那个 SQL 用户上创建的一些多余权限:)

编辑:

在此处输入图像描述

SQL 连接字符串存储在负载测试文件中。该设置似乎是 PC 特定的,所以我不得不在构建服务器上更改它 - 如图所示,在一个负载测试文件 (address.loadtest) 中,然后所有其他负载测试采用相同的连接字符串。

于 2012-08-31T03:17:21.640 回答
3

我正在使用 Visual Studio 2013 并且也出现此错误,但原因不同。第一次设置负载测试时,默认情况下它会尝试将结果保存到数据库中,这并不完全清楚。直到我在第一次运行尝试时遇到错误,我才意识到它正在尝试将结果保存到数据库中。此外,在负载测试向导中,没有用于配置数据库设置或为此创建数据库模式的屏幕。

我在 MSDN 上找到了这篇文章,它帮助我解决了这个问题。

如何:使用 SQL 创建负载测试结果存储库 https://msdn.microsoft.com/en-us/library/ms182600%28v=vs.120%29.aspx?f=255&MSPPError=-2147217396

基本上,它解释了您首先需要运行一个脚本来创建负载测试存储库模式。一旦这在你的 SQL 实例上就位(它可以在你喜欢的任何地方),那么你可以将你的负载测试指向这个数据库并将你的结果保存在那里。

于 2016-06-23T16:29:53.810 回答
0

对我来说,在我设置了数据库连接并且所有测试结果仍然没有写入数据库之后。

我忘记在运行设置的属性部分更改我的存储类型。该属性称为“存储类型”

存储类型:将其从无更改为数据库

于 2019-04-23T21:31:41.307 回答