【问题标题】:Can "additional connection parameters be "saved" in SSMS?可以在SSMS中“保存”“附加连接参数”吗?
【发布时间】:2015-08-26 06:37:05
【问题描述】:

我们的暂存服务器与生产服务器具有相同的设置,这意味着加密通信已打开,但是暂存服务器具有自签名证书,我们都知道除非 TrustServerCertificate=true,否则它将失败;是连接字符串的一部分。当通过 SSMS 连接时,所有其他连接详细信息都会在会话之间记住,除了附加连接参数框中的那些。

我不可避免地忘记了,得到错误,必须点击选项,然后添加...输入字符串并再次点击连接。

为什么微软决定应该记住三个选项卡中的两个,而不是第三个,这超出了我的理解。

那么如果有办法解决这个问题呢? 一些指定默认设置的配置文件? 那么如何从包含特定连接字符串的命令行启动 SSMS 并通过创建快捷方式绕过它?

或者我注定要永远……忘记。连接。错误。选项。标签。类型。连接。 ?

【问题讨论】:

  • 将服务器添加为注册服务器 (Ctrl+Alt+G) 有帮助吗?您可以在连接属性选项卡中检查“加密连接”,但我没有看到其他连接参数的字段,所以我很怀疑。不过值得一试。命令行也没有通用连接字符串的参数。
  • 顺便说一句:是什么阻碍了您将证书注册为客户端计算机的可信证书?

标签: sql-server ssms


【解决方案1】:

我接受了关于没有解决方案的答案,投票支持直接解决方案,但我确实找到了解决方法。

在 SQL SERVER(不是 SSMS)的连接属性中,可以强制加密连接。无论是否设置了“加密连接”属性,这都需要 SSMS 进行加密连接。

如果服务器强制加密连接有点不合逻辑,如果服务器提供自签名证书,SSMS 将无错误(甚至警告)连接。

在 SQL SERVER 上强制加密连接。

  1. 启动 SQL Server 配置管理器。
  2. 展开树视图选项SQL Server 网络配置。
  3. 右键单击 Protocols for INSTANCENAME 并选择属性(注意这是实际的协议属性,而不是特定协议的属性)。
  4. 在 Flags 选项卡上,将 Force Encryption 设置为 Yes。
  5. 重新启动 SQL Server 实例服务。

您现在可以在不检查加密连接的情况下使用 SSMS 进行连接,并且无论如何服务器都会强制进行加密。在我看来,这似乎违反直觉,但不会出现错误或警告您正在使用自签名证书进行连接。

在 SSMS 中,您可以通过以下查询验证所有活动连接的加密状态(取消注释最后一行以仅显示当前连接):

SELECT encrypt_option 
FROM sys.dm_exec_connections 
-- WHERE session_id = @@SPID

【讨论】:

  • 完美,非常感谢。修复了 100 个小烦恼中的一个,这将使我的日子变得更轻松。
【解决方案2】:

不,对不起。附加参数不会跨会话保持不变。

由于这听起来像是您想要更改的内容,我建议您在 SQL Server Connect 网站上提交建议,然后让人们投票赞成。

更新:这个问题终于得到修复,您现在应该看到保存的附加参数字段,就像其他连接选项一样。它目前仅在CTP version of SSMS 中可用。

【讨论】:

  • 接受了这个作为答案。 SSMS 缺少这一点似乎令人震惊。看起来其他人已经创建了一个请求。我投了赞成票。 connect.microsoft.com/SQLServer/feedback/details/813973/…
  • 正如我的编辑提到的,这已在 SSMS 的 CTP 版本中得到修复。您可以开始使用它(它向后兼容以前的 SQL 版本)或等到正式发布。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 2020-10-31
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
相关资源
最近更新 更多