查询以确定强制加密状态

Ric*_*ard 7 sql-server ssl

我正在尝试确认当前是否设置了强制加密和/或当前连接是否安全。

是否有我可以运行的 SQL 查询来为我提供该信息,或者我是否需要登录机器并从操作系统查询它?

Tom*_*m V 5

要确定您需要从注册表中读取的设置。在下面的查询中替换您的版本/实例名称:

EXEC [master].[dbo].[xp_regread]    @rootkey='HKEY_LOCAL_MACHINE',
                                    @key='SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL<version>.<instancename>\MSSQLServer\SuperSocketNetLib',
                                    @value_name='ForceEncryption'   
Run Code Online (Sandbox Code Playgroud)

您应该能够获得正确的路径dm_server_registry,不幸的是,它没有给我 ForceEncryption 属性。

SELECT registry_key, value_name, value_data
FROM sys.dm_server_registry
Run Code Online (Sandbox Code Playgroud)

要确定当前的连接加密状态,您可以从中选择它们 sys.dm_exec_connections

SELECT encrypt_option, *
FROM sys.dm_exec_connections
Run Code Online (Sandbox Code Playgroud)