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作为一个尽可能不兼容的答案,这样我就可以接受它作为我的解决方案吗?