连接到远程 SQL 服务器数据库 Visual Studio 2017 时出错

Posted

技术标签:

【中文标题】连接到远程 SQL 服务器数据库 Visual Studio 2017 时出错【英文标题】:Error connecting to a remote SQL server database Visual Studio 2017 【发布时间】:2017-08-21 20:27:50 【问题描述】:

我有一个在 Windows server 2016 上运行的 SQL server 2016 实例, 我正在尝试使用服务器资源管理器从 Visual Studio 2017 社区中的远程 PC 连接到数据库。连接成功,我可以看到服务器上可用的数据库并登录很好,但是当我尝试展开表文件夹时,我收到此错误:

未能为此请求检索数据 连接服务器失败(本地) 用户“xxxxx”登录失败

问题是我可以使用 Visual Studio 2015 Enterprise 以同样的方式连接,这意味着我可以看到表格并更改它们。

我确保用户拥有服务器上授予的所有权限, 对我来说,这似乎不是权限问题,因为在 VS 2015 中连接工作得很好。

【问题讨论】:

"无法连接到服务器(本地)。"相当可疑。听起来像是在尝试连接到本地 SQLServer。 我不是这样的原因它连接到服务器很好并正确显示服务器中的所有数据库,并且它添加了数据连接也很好,问题发生在试图访问表文件夹。本地的事情可能是由于服务器 FBSERVER.local 的命名造成的,或者我可能完全错了,它确实与我无法判断的这个问题有关。 【参考方案1】:

这会有所帮助。添加新的数据库连接时,请确保选中“保存我的密码”复选框。

【讨论】:

哇,我有点放弃了,这里有一个非常简单的解决方案,但奇怪的是它确实解决了我无法猜到这样的事情会导致这种错误的问题。 就是这样。我必须在 web.config 中将Persist Security Info=True; 添加到我的连接字符串 这对我有用。起初我很困惑,因为我在 SQL Server Management Studio 中没有收到错误,但这在 Visual Studio 上修复了它。肯定 +1 谢谢@kyaqb。添加“持久安全信息=真;”我的连接字符串有效。 扯远了,为这个问题花了很长时间切换屏幕,干得好!!【参考方案2】:

对于那些执行代码优先迁移并遇到此问题的人,只需右键单击服务器资源管理器中的连接名称并选择“修改此连接...”,然后单击保存密码复选框。单击“确定”,然后一切正常。

【讨论】:

【参考方案3】:

这可能与 MSSQL 数据源类型有关。 切换到 OLE DB 数据源类型对我有用。我正在使用:-

Microsoft SQL Server 2016 (SP2-CU2) (KB4340355) - 13.0.5153.0 (X64) 2018 年 6 月 28 日 17:24:28 版权所有 (c) Microsoft Corporation Enterprise Edition (64-bit) o​​n Windows Server 2016 Datacenter Evaluation 10.0 (内部版本 14393:)(管理程序)

解决方案链接。 https://***.com/a/20077395/8917467

【讨论】:

【参考方案4】:

您是否尝试过保存解决方案/项目并重试?我在新安装的 VS 2017 社区中一直在努力解决这个问题,这对我来说很有效。 .rds 文件直到我全部保存后才更新。之后它让我再次使用“添加表格”按钮。

【讨论】:

您好,欢迎来到 ***。我看到你的回答是从一个问题开始的。人们经常会指出,对于 cmets,询问更多信息比回答更合适。也就是说,我看到您还提供了一个听起来对您有用的解决方案,并且很可能适用于问题的发布者。也许将来可以确保您的答案措辞避免提出问题,而是将答案措辞如下:“如果您还没有尝试保存解决方案/项目并再次尝试,也许您应该尝试一下。我去过。 ..”。 它与任何项目或解决方案无关我尝试通过服务器资源管理器进行连接而不打开任何项目只是添加一个数据连接它适用于 vs 2015 但不是 2017 出于某种奇怪的原因【参考方案5】:

我遇到了完全相同的问题。尝试展开表文件夹时记录失败。所有其他文件夹实际上都可以工作,视图、存储过程但不是表。

【讨论】:

是的,情况确实如此,但您能否将其作为对问题的评论而不是作为答案。【参考方案6】:

问题是 Visual Studio 2017 调用加载表(以收集行数)比 2015 年更多。您可以在 SQL Profiler 中看到这一点。由于“内存优化表”分析,连接到 SQL Server 2016 的问题更加严重。

设计器的默认超时为 30 秒。假设 AWS 或 Azure 的 SLA 为 20 毫秒,在默认设置下,6,000 个对象架构在 2017 年总是会超时。

不幸的是,增加超时不会使事情变得更快。

【讨论】:

以上是关于连接到远程 SQL 服务器数据库 Visual Studio 2017 时出错的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Visual Studio 数据库项目连接到 SQL Azure 服务器

远程计算机无法连接到 Visual Studio Web 服务器

Visual Studio 2012 无法连接到远程计算机上的 BizTalk 适配器服务

初始设置和从 Visual Studio 连接到 microsoft sql 服务器时出现问题

从 Visual Studio 连接到 SQL Server 2005

使用 SSH 连接到远程服务器的 Visual Studio Code - 如何将代码库与 github 同步?