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

17

我有一个安装在Windows服务器2016上的SQL Server 2016实例,我试图从Visual Studio 2017 Community中的远程PC连接到数据库,使用Server Explorer。连接成功后,我可以看到服务器上可用的数据库,并且登录也正常,但是当尝试展开表文件夹时,会出现以下错误:

 

无法检索此请求的数据
  无法连接到服务器(local)
  登录失败,用户为'xxxxx'

问题是,我可以使用Visual Studio 2015 Enterprise以相同的方式连接并查看和修改表格。

我确保该用户在服务器上被授予了所有权限,但对我来说似乎不是权限问题,因为在VS 2015中连接工作正常。


连接服务器(本地)失败。这很可疑,听起来像是尝试连接本地SQLServer。 - RBarryYoung
我不认为这是问题的原因,因为它可以正常连接到服务器并正确显示服务器中的所有数据库,也可以成功添加数据连接。问题只出现在尝试访问表文件夹时。本地问题可能与服务器命名为FBSERVER.local有关,或者我可能完全错误,这与此问题有关,我无法确定。 - Fadi Banna
6个回答

46

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

已勾选保存我的密码的添加连接对话框


1
哇,我有点放弃了,但是出现了一个如此简单的解决方案,但奇怪的是它确实解决了问题。我无法猜到像这样的东西会导致这种错误。 - Fadi Banna
2
这就是问题所在。我必须在web.config中的连接字符串中添加Persist Security Info=True; - user2233219
1
这对我有用。起初我感到困惑,因为我在SQL Server Management Studio中没有收到错误,但是在Visual Studio上解决了它。肯定加一分。 - Chris Gong
感谢@kyaqb。在我的连接字符串中添加“Persist Security Info=True;”起作用了。 - Dickie Watkins
太棒了,为了解决这个问题我花了很长时间切换屏幕,做得好!! - Costas Aletrari
添加连接向导可以在 Visual Studio 实例打开时暂时解决问题。然而,将“Persist Security Info=True;”添加到连接字符串并运行添加连接向导,将确切地持久化。非常感谢! - Aday

6

如果您使用Code First Migration并遇到此问题,请在服务器资源管理器中右键单击连接名称,然后选择“修改此连接...”,接着勾选“保存密码”复选框。点击“确定”并妙手回春,问题就解决了。


2
这可能是由于 MSSQL 数据源类型导致的。将数据源类型切换为 OLE DB 对我有用。我正在使用以下内容:
Microsoft SQL Server 2016 (SP2-CU2) (KB4340355) - 13.0.5153.0 (X64) Jun 28 2018 17:24:28 版权所有 (c) Microsoft Corporation 企业版 (64 位) Windows Server 2016 Datacenter Evaluation 10.0 (Build 14393:) (Hypervisor)
解决方案链接: https://dev59.com/VXnZa4cB1Zd3GeqPmSS6#20077395

0
你尝试过保存解决方案/项目并重试吗?我在新安装的VS 2017 Community上一直在与这个问题斗争,这就是刚刚为我工作的方法。在保存所有内容之前,.rds文件没有更新。之后,它让我再次使用“添加表”按钮。

你好,欢迎来到StackOverflow。我看到你的回答以一个问题开头。通常人们会指出,在评论中询问更多信息比在回答中更合适。话虽如此,我也看到你提供了一个听起来对你有用并且可能对问题的发布者有用的解决方案。也许在未来,确保你的回答措辞避免提问,而是像这样措辞回答:“如果你还没有尝试保存解决方案/项目并再次尝试,也许你应该尝试一下。我一直...”。 - Louis Langholtz
1
它与我尝试连接的任何项目或解决方案无关。只需添加一个数据连接,通过服务器资源管理器连接,它可以在 VS 2015 上工作,但在某些奇怪的情况下无法在 2017 上工作。 - Fadi Banna

0

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


是的,这正是情况,但您能否将其作为评论放在问题上,而不是作为答案。 - Fadi Banna

0
问题在于Visual Studio 2017比2015更频繁地调用加载表(以收集行计数)。您可以在SQL Profiler中看到这一点。由于“内存优化表”分析,连接到SQL Server 2016的问题更加严重。
设计器的默认超时时间为30秒。假设将SLA设置为20毫秒到AWS或Azure,6000个对象模式在默认设置下始终会超时。
不幸的是,增加超时时间并不能使事情更快。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接