2012-08-31 200 views
2

我正在使用VS2012创建一些负载测试。我可以使用StorageType为“None”运行测试,但是当我将此更改为StorageType的“数据库”时,出现可怕的错误本地负载测试:负载测试结果数据库无法打开

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

我在一个名为LoadTest的非本地SQL副本上创建了一个数据库。当我从“SQL跟踪连接字符串”对话框测试连接时,我获得成功。

我创建了一个具有dbcreator,public,serveradmin和sysadmin的服务器角色的SQL用户。用户有一个用户映射到LoadTest2010数据库,该数据库是从VS2012 IDE目录中的loadtestresultsrepository.sql创建的。在数据库上,用户具有数据库角色成员资格db_accessadmin,db_datareader,db_datawriter和db_owner。 在我拥有的模式中,我在db_datareader,db_datawriter,db_owner和db_securityadmin上勾选了这些现在在显示时现在转到蓝色方块而不是打勾的情况。

那么这是怎么回事? Visual Studio试图创建数据库还是其他问题?

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

回答

3

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

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

编辑:

enter image description here

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

2

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

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

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

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