c# - 无法连接到 SQL Server : Failed to retrieve data for this request

标签 c# sql-server visual-studio-2012 database-connection

我一直在使用 Visual Studio 2012 在 c# 中编写一个程序。这个程序对数据库进行了多次调用,并且一切都运行得很好;永远不必为了让它运行而搞乱任何配置。几天前,我收到了一台新电脑。设置完所有内容后,我试图运行我的程序,但由于超时,它在数据库调用上一直失败。我删除了旧的连接字符串并尝试连接到我们的备份数据库。使用服务器资源管理器,我创建了一个新连接;填写所有信息后,我使用了测试连接按钮,并被告知测试成功。然后我尝试从服务器资源管理器打开 Tables 文件夹,但没有成功。大约 30 秒后,我收到以下错误: 无法为此请求检索数据。 超过锁定请求超时期限。

我多次尝试刷新连接、重启数据库、重启 visual studio,甚至重启我的电脑。我尝试连接回原始数据库并得到相同的结果,所以我确定它是特定于计算机的并且与数据库无关。我已经验证我登录的 Windows 帐户是系统管理员。我们使用 SQL Server 身份验证,Visual Studio 尝试连接的帐户也是系统管理员。我也完全禁用了我的防火墙。我在互联网上到处搜索答案,但我能找到与我的错误消息类似的唯一情况是与 ASP 非常具体相关。我不明白(以及难以搜索的)是能够成功连接到数据库,但无法检索任何数据。任何帮助将不胜感激!

附加信息: 我在我的项目中使用 LINQ to SQL 类。目标框架= 4.5

更新: 我将答案标记为已接受,但我会在这里详细说明以防其他人遇到同样的问题。有两个打开的进程,其中一个属于我,我认为这是允许测试连接 工作的。杀死所有打开的进程后,我根本无法连接回数据库。然后我重新启动了数据库服务(在我们的 LAN 上,而不是在本地)并且它起作用了。我不再认为它与新电脑有任何关系;它只是同时发生在导致问题并导致我掉进兔子洞的任何事情上。

最佳答案

A very fine answer by a gentleman here 这是一个复制粘贴,为了清除空气我只是想帮助我们的 friend 。原始帖子可以在上面的链接中找到。

  1. 使用有问题的数据库连接到服务器的 MASTER 数据库
  2. 运行下面的查询以查找未结交易
  3. 终止任何阻塞 SYSTEM SPIDS(1 到 50)的事务

select * from master..sysprocesses where blocked <> 0

去 sp_who2 走

-- 找到被阻塞的SPIDS,然后检查下面是否有open trans,除0之外的任何值都表示是open tran

SELECT distinct(open_tran) FROM master..SYSPROCESSES WHERE SPID=<suspect SPID>

-- 现在杀了它! 杀死

杀戮一结束,数据库就会恢复正常。无需重新启动服务,无需启动。

作者 -MauricioRPP

关于c# - 无法连接到 SQL Server : Failed to retrieve data for this request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18021122/

相关文章:

c# - MVVM INotifyPropertyChanged 与基类 PropertyChange 冲突

c# - 从数据集中的数据表中删除所有行

c# - 组合框值成员错误

visual-studio - 通过 NuGet 获取的 MVVM Light - 未找到 RelayCommand.cs

c# - 什么时候发生错误迁移( Entity Framework )

c# - VSIX - XmlEditingScope.Complete() 上的死锁

c# - 选择和跳过元素

sql-server - 部署 MSSQL 更改脚本

sql - 在没有反向重复的情况下在 SQL Server 中生成一组排列

asp.net - EF 函数导入无法识别 StoredProc 返回的列