Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server在尝试备份证书时崩溃_Sql Server_Openssl_Redhat - Fatal编程技术网

Sql server SQL Server在尝试备份证书时崩溃

Sql server SQL Server在尝试备份证书时崩溃,sql-server,openssl,redhat,Sql Server,Openssl,Redhat,我正在尝试从主节点创建备份证书,以便在辅助节点上为可用性组创建证书。使用以下命令: CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password123'; CREATE CERTIFICATE dbm_certificate WITH SUBJECT = 'dbm'; BACKUP CERTIFICATE dbm_certificate TO FILE = 'dbm_certificate.cer'

我正在尝试从主节点创建备份证书,以便在辅助节点上为可用性组创建证书。使用以下命令:

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password123';
    CREATE CERTIFICATE dbm_certificate WITH SUBJECT = 'dbm';
    
    BACKUP CERTIFICATE dbm_certificate
       TO FILE = 'dbm_certificate.cer'
       WITH PRIVATE KEY (
               FILE = 'dbm_certificate.pvk',
               ENCRYPTION BY PASSWORD = '123password'
           );
主密钥和证书创建成功,但备份证书返回:

A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)
这似乎是由sql提供以下日志的核心转储引起的:

This program has encountered a fatal error and cannot continue running at Tue Jan 26 12:25:05 2021
The following diagnostic information is available:

         Reason: 0x00000001
         Signal: SIGABRT - Aborted (6)
          Stack:
                 IP               Function
                 ---------------- --------------------------------------
                 0000559b81252023 malloc_usable_size+0x9e103
                 0000559b81251afe malloc_usable_size+0x9dbde
                 0000559b8125111a malloc_usable_size+0x9d1fa
                 00007fbabc90d400 __restore_rt+0x0
                 00007fbabc90d387 gsignal+0x37
                 00007fbabc90ea78 abort+0x148
                 00007fbabb5ecc8f OpenSSLDie+0x1f
                 00007fbabb6aadcc bad_do_cipher+0x1c
                 00007fbabb6aafba EVP_EncryptUpdate+0xda
                 0000559b8120c8ce malloc_usable_size+0x589ae
                 0000559b8120c4c2 malloc_usable_size+0x585a2
                 0000559b811d60d5 malloc_usable_size+0x221b5
                 0000559b811d5d99 malloc_usable_size+0x21e79
        Process: 11391 - sqlservr
         Thread: 11513 (application thread 0x1c4)
    Instance Id: 2b6201eb-eeba-4f82-8007-7e3ef630be1a
       Crash Id: 98fa6ae2-ac80-4454-839a-06ffba21260a
    Build stamp: 86f25b9af3192b748396bd75b5bf3eceb3e2e62a8c2271521d281f5a53463d38
   Distribution: Red Hat Enterprise Linux
     Processors: 4
   Total Memory: 8370020352 bytes
      Timestamp: Tue Jan 26 12:25:05 2021
删除带有私钥的
允许命令在数据文件夹中成功创建dbm\u证书。这让我相信问题在于OPENSSL和私钥加密。我已经使用OPENSSL 1.0.2k在Red Hat 7.9上安装了MSSQL 2019。我在/opt/mssql/lib中创建了指向OPENSSL的符号链接,并添加了:

[Service]
Environment="LD_LIBRARY_PATH=/opt/mssql/lib"

到mssql服务器服务。

崩溃通常是一个只有MS才能解决的问题。他们会问的第一件事是您在sql server和操作系统中使用的版本、版本和修补程序级别。如果您查看需求,rhel 7.9没有被列为。有趣的是,7.9被明确忽略,因为7.2-7.8与8.0-8.3一样。也许7.9中存在一些已知的问题,这可能是其中之一。Smor链接的文档就是我阅读安装说明的地方。我只是认为该文档的发布日期是6月20日,其中as 7.9是在20月20日发布的,所以它没有被包括在内。我可以尝试8.3,我选择使用7.9而不是RH8,因为SQL Server需要Python 2.7和OpenSSL 1.0,这在7中是默认的,但在8中不是默认的。我重新开始使用Red Hat 8.3,一切都很好@SMor你能把7.9作为一个尽可能不兼容的答案,这样我就可以接受它作为我的解决方案吗?