素材网站在哪里找,购物app开发价格表,莱芜都市网征婚交友,网站制作网站建设报价一、使用vs2017生成sqlserver 2017项目时由于添加的程序集(CLR集成#xff0c;可以参考后面给出的链接进行理解) #xff0c;由于安全权限的配置不正确引发以下的问题: SQL72014: .Net SqlClient Data Provider: Msg 10343, Level 14, State 1, Line 1 针对带有 SAFE 或 EXT…一、使用vs2017生成sqlserver 2017项目时由于添加的程序集(CLR集成可以参考后面给出的链接进行理解) 由于安全权限的配置不正确引发以下的问题: SQL72014: .Net SqlClient Data Provider: Msg 10343, Level 14, State 1, Line 1 针对带有 SAFE 或 EXTERNAL_ACCESS 选项的程序集“XXX”的 CREATE 或 ALTER ASSEMBLY 失败 因为 sp_configure 的“clr 严密安全性”选项设置为 1。Microsoft 建议使用其相应登录名具有 UNSAFE ASSEMBLY 权限的证书或非对称密钥为该程序集签名。或者也可以使用 sp_add_trusted_assembly 信任程序集。 a) 起因—摘抄自MSDN: https://docs.microsoft.com/zh-cn/sql/database-engine/whats-new-in-sql-server-2017?viewsql-server-2017 Sqlserver2017中CLR 在 .NET Framework 中使用代码访问安全性 (CAS)不可再作为安全边界。 使用 PERMISSION_SET SAFE 创建的 CLR 程序集可以访问外部系统资源、调用非托管代码以及获取 sysadmin 特权。 从 SQL Server 2017 (14.x) 开始引入了名为 clr strict security 的 sp_configure 选项以增强 CLR 程序集的安全性。 默认启用 clr strict security并将 SAFE 和 EXTERNAL_ACCESS 程序集与标记为 UNSAFE 的程序集同等对待。 可禁用 clr strict security 选项以实现后向兼容性但不建议这样做。 Microsoft 建议所有程序集都通过证书或非对称密钥进行签名 且该证书或非对称密钥具有已在主数据库中获得 UNSAFE ASSEMBLY 权限的相应登录名。 现在可以将 CLR 程序集添加到白名单 作为 clr strict security 功能的变通方法。 添加 sp_add_trusted_assembly、sp_drop_trusted_assembly 和 sys.trusted_asssemblies 以支持受信任的程序集白名单。 有关详细信息请参阅 CLR 严格安全性。 b) 解决方式参考--- http://usingprogramming.com/category/Blog 采用 sp_add_trusted_assembly的方式添加信任到数据库里去. DECLARE hash AS BINARY(64) (SELECT HASHBYTES(SHA2_512, (SELECT * FROM OPENROWSET (BULK XXX.dll, SINGLE_BLOB) AS [Data]))) EXEC sp_add_trusted_assembly hash 然后可以通过: select * from sys.trusted_asssemblies 视图查看已经添加的信任的程序集 至此就解决了. 希望有所帮助. 转载于:https://www.cnblogs.com/bluecool/p/9299072.html