我们的登台服务器具有与生产服务器相同的设置,这意味着加密通信已打开,但是登台服务器具有自签名证书,除非TrustServerCertificate = true,否则我们都知道该证书将失败; 是连接字符串的一部分.通过SSMS连接时,除了附加连接参数框中的会话之外,会话会话中记住所有其他连接详细信息.
我不可避免地会忘记,得到错误,必须单击选项,然后单击Addtional ...输入字符串并再次点击连接.
为什么微软决定应该记住三个标签中的两个而不是第三个标签超出我的范围.
那么如果有办法解决这个问题呢?一些配置文件指定默认设置?那么从命令行启动SSMS包括特定的连接字符串并通过创建快捷方式绕过它?
或者我注定永远......忘记了.连接.错误.选项.标签.类型.connnect.?
我接受了关于没有解决方案的答案,将其投票赞成直接解决方案,但我确实找到了解决方法.
在SQL SERVER(不是SSMS)的连接属性中,可以强制加密连接.这将要求SSMS加密连接,无论是否设置了" 加密连接 "属性.
如果服务器强制加密连接有点不合逻辑,如果服务器提供自签名证书,SSMS将连接而不会出错(甚至警告).
在SQL SERVER上强制加密连接.
启动SQL Server配置管理器.
展开树视图选项SQL Server网络配置.
右键单击Protocols for INSTANCENAME并选择属性(注意这是实际的协议属性而不是特定协议的属性).
在Flags选项卡上,将Force Encryption设置为Yes.
重新启动SQL Server实例服务.
您现在可以在不检查加密连接的情况下连接SSMS,服务器将强制执行加密.在我看来,这似乎是违反直觉的,但是没有错误或警告您使用自签名证书进行连接.
在SSMS中,您可以通过以下查询验证所有活动连接的加密状态(取消注释最后一行以仅显示当前连接):
SELECT encrypt_option FROM sys.dm_exec_connections -- WHERE session_id = @@SPID