【问题标题】:Creating a asyemmtric key from an existing assembly从现有程序集创建非对称密钥
【发布时间】:2017-11-11 00:46:31
【问题描述】:

我在测试数据库中有一个名为 [Testing.Framework.sql] 的程序集。我没有该程序集的 DLL 或文件。

我需要从中创建一个非对称密钥并登录以授予它不安全的装配状态。

我试过了:

USE master;
GO  

CREATE ASYMMETRIC KEY TestingProjectKey FROM ASSEMBLY [Testing].[Testing.Framework.SQL]
-- CREATE LOGIN TestingProjectLogin FROM ASYMMETRIC KEY TestingProjectKey ;  
-- GRANT UNSAFE ASSEMBLY TO TestingProjectLogin ;
-- GO

密钥需要在 master 中运行,但我在尝试访问测试数据库中的程序集时遇到错误。我尝试了 [Testing][Testing.Framework.SQL] 但出现语法错误。

【问题讨论】:

  • 您收到什么错误?
  • Msg 102, Level 15, State 1, Line 4 '.' 附近的语法不正确。
  • 尝试直接从sql中获取程序集的名称:select * from sys.assembly_modules
  • 它只给我程序集ID和类,如程序集类:TestingProject.Framework.SQL.Encryption
  • 我还必须从测试数据库而不是从主数据库运行它

标签: c# sql .net sql-server .net-assembly


【解决方案1】:

您应该能够使用 UI 在 master 中创建程序集:http://www.sqlservercentral.com/articles/SQLCLR/74377/

创建密钥后,您可以将程序集从主程序中删除。

【讨论】:

    猜你喜欢
    • 2013-02-18
    • 2013-02-12
    • 2018-04-28
    • 2012-02-22
    • 2010-10-30
    • 2011-01-14
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多