2011-10-18 45 views
1

嗨,我一直在与这个问题斗争整天。我有一个vs2010负载测试,它由三个不同的web性能测试组成的场景组成。VS2010负载测试失败 - 无法打开数据库 - 不是负载测试结果数据库

每个Web性能测试都从正确配置并在本地运行的数据库中选择URL。但是,当远程运行负载测试时,它会失败,并显示以下错误:

无法在代理程序'AGENTSERVER'上运行负载测试'负载测试'。无法打开登录请求的数据库'URLSDB'。登录失败以便使用帐户

为了使其正常工作,代理和控制器都设置为在域管理员帐户下运行,我可以通过Management Studio登录到数据库。我检查了连接字符串,可以在本地运行测试,但不能远程运行。有没有人有任何想法?我的下一步是将连接字符串设置为UrlsDB以使用SQL身份验证

+1

您是否尝试过手动从登录到数据库中的代理机器(例如使用Management Studio或我最喜欢的LINQPad)?也许你可以通过这种方式获得更有用的错误信息。 OTOH,我敢打赌,SQL身份验证可能会在第一次尝试时起作用。 – agentnega

+0

我可以使用SQL身份验证和Windows身份验证(使用运行代理服务的帐户)从代理计算机成功登录,但无法运行我的负载测试 –

+0

您可以发布连接字符串(当然,有敏感部分编辑)吗?也许那里有线索。你不会无意中指定本地主机或'。'作为你的服务器名称?另外,关于SQL Server日志呢,可能有更有用的信息。 – agentnega

回答

1

终于设法在01:20 AM解决它。在检查构成场景中混合的三个单独测试的数据源时,我发现UI显示一旦更新了所有三个更新了连接字符串,这就是为什么我很困惑为什么我要得到这些错误,再加上错误并不表明哪个连接有问题。

因此,为了消除测试成为问题,我从每个测试中删除了数据源,并创建了单独命名的全新数据源,直到有效地指向相同的sql服务器和相同的数据库。然后我跑了测试,所有表现都正确,最后!!

所以核心问题是底层测试中的连接字符串不正确。将进一步测试UI以检查我是否仅仅是我自己的错误,或者如果我发现一个错误,我会报告它,UI中实际上可能存在错误。

感谢那些谁花时间试图帮助我解决它,去内脏,这个问题是如此轻微的,当它把我难倒了近20个小时:/

0

您正在运行测试的域管理员帐户无法从代理计算机连接到数据库服务器。

登录到代理并从那里调试数据库连接。

请注意,在Web测试中发生阻塞呼叫的线程可能会导致负载测试出现问题。我建议您尽可能在测试实例期间加载所有测试网址。 基本上尽量减少数据库调用。

+0

感谢您的回应,但是我可以使用Management Studio和代理机器中的SQLCMD成功登录,但是我的负载测试仍然失败 –