SQL Server 20XX - 使用链接服务器查询编译存储过程时“客户端不支持加密”

时间:2018-04-12 18:06:27

标签: sql-server ssms pervasive

尝试在SSMS中编译存储过程,其中包含对链接服务器的打开查询。链接的服务器已连接到我的“服务器对象/链接服务器”文件夹中。我可以在查询选项卡中执行打开查询,但是当在过程中运行相同的查询时,我收到错误

  

客户端不支持加密

这只是在昨天工作,我的结果没有任何变化,我知道。

我在我的机器上本地使用SQL Server 2014,并且该过程正在尝试使用位于其他位置的“Pervasive”DB连接到链接服务器。不确定是哪个版本。

到目前为止,我已尝试重新启动,而我们的SQL Server DBA并未意识到其他人的计算机上存在问题。

2 个答案:

答案 0 :(得分:3)

我在其他地方找到了答案......不在Stack Overflow上,所以我想在这里方便...

发生这种情况时,就链接服务器而言,这是由于目标服务器所需的加密与请求服务器所需的加密不匹配,因此无法建立连接。

要解决此问题,您可以尝试卸载计算机上与SQL相关的所有内容并重新安装...或者您可以尝试以下操作:

  1. 使用命令提示符/ Powershell / Cortana,键入“regedit”并按Enter键。
  2. 在“注册表编辑器”中,“导航到此位置...”HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ MSSQLServer \ Client \ SNIxx.x'('x代表您的SNI版本......“Sql Network Interface” )
  3. 首先在以下位置备份文件夹,方法是单击“文件/导出”并将其保存在任何位置,'HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ MSSQLServer \ Client \'
  4. 无论您使用的是什么版本的SNI,在我的情况11.0中,您都将进行文件级搜索,并在下面的文件数据中替换SNIxx.x,用您的版本号替换版本号。
  5. 现在在注册表编辑器中,单击“文件/导入”并导航到保存新文件的文件夹,双击它或突出显示它,然后单击“打开”。
  6. 以下是该文件中需要存在的数据......

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client]
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo]
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\DB-Lib]
    "AutoAnsiToOem"="ON"
    "UseIntlSettings"="ON"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x]
    "ProtocolsSupported"=hex(7):73,00,6d,00,00,00,74,00,63,00,70,00,00,00,6e,00,70,  
    00,00,00,76,00,69,00,61,00,00,00,00,00
    "ProtocolOrder"=hex(7):73,00,6d,00,00,00,74,00,63,00,70,00,00,00,6e,00,70,00,  
    00,00,00,00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\GeneralFlags]
    "NumberOfFlags"=dword:00000002
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\GeneralFlags\Flag2]
    
    "Label"="Trust Server Certificate"
    "Value"=dword:00000000
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\LastConnect]
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\np]
    "DLLname"="SQLNCLI"
    "NumberOfFlags"=dword:00000000
    "NumberOfProperties"=dword:00000001
    "ProtocolName"="Named Pipes"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\np\Property1]
    "Name"="Default Pipe"
    "Value"="sql\\query"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\sm]
    "DLLname"="SQLNCLI"
    "NumberOfFlags"=dword:00000000
    "NumberOfProperties"=dword:00000000
    "ProtocolName"="Shared Memory"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\tcp]
    "DLLname"="SQLNCLI"
    "NumberOfFlags"=dword:00000000
    "NumberOfProperties"=dword:00000003
    "ProtocolName"="TCP/IP"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\tcp\Property1]
    "Name"="Default Port"
    "Value"=dword:00000599
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\tcp\Property2]
    "Name"="KEEPALIVE (in milliseconds)"
    "Value"=dword:00007530
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\tcp\Property3]
    "Name"="KEEPALIVEINTERVAL (in milliseconds)"
    "Value"=dword:000003e8
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\VIA]
    "DLLname"="SQLNCLI"
    "NumberOfFlags"=dword:00000000
    "NumberOfProperties"=dword:00000002
    "ProtocolName"="VIA"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\VIA\Property1]
    "Name"="Default Server Port"
    "Value"="0:1433"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNIxx.x\VIA\Property2]
    "Name"="Default Client NIC"
    "Value"="0"
    

答案 1 :(得分:1)

我有类似的问题。问题是我安装了旧版本的SQL工具,并且计算机PATH仍设置为引用110版本之前的100版本。

例如,同时安装了2008年和2012年。

C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn

C:\ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn

此处的参考文件夹版本: SQL Server file names vs versions

我只是引用了较新的版本,问题就解决了。

相关问题