我正在尝试使用 Solomon Rutzky 在其后程序集部署中提供的指导来添加“System.Messaging.dll”,并使用非对称密钥使用 UNSAFE 或 EXTERNAL_ACCESS 权限,但我在第一个障碍上失败了。
脚本的第一部分是从程序集创建证书;
CREATE CERTIFICATE [MS.NETcer] FROM EXECUTABLE FILE = 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Messaging.dll';
GO
Run Code Online (Sandbox Code Playgroud)
但是,当我执行此操作时,我收到错误;
Msg 15208, Level 16, State 1, Line 1
The certificate, asymmetric key, or private key file does not exist or has invalid format.
Run Code Online (Sandbox Code Playgroud)
我用来执行命令的帐户具有“sysadmin”服务器角色。这是在 SQL Server 2008 实例上。
请问有人对为什么失败有任何想法吗?
---------- 更新 1 -----------
我采纳了所罗门的建议并修改了我的脚本,使其看起来像这样;
CREATE ASYMMETRIC KEY [Key.System.Messaging] FROM EXECUTABLE FILE = 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Messaging.dll';
GO
CREATE LOGIN [CLR.Login.System.Messaging] FROM ASYMMETRIC KEY [Key.System.Messaging];
GO
GRANT UNSAFE ASSEMBLY TO [CLR.Login.System.Messaging];
GO
Run Code Online (Sandbox Code Playgroud)
到目前为止一切都很好。我现在运行 …