【问题标题】: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
相关资源
最近更新 更多