vs2017生成sqlserver 2017项目出现.Net SqlClient Data Provider: Msg 10343
一、使用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?view=sql-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
vs2017生成sqlserver 2017项目出现.Net SqlClient Data Provider: Msg 10343相关推荐
- SQLserver 报错RegCreateKeyEx() 返回了错误 5,“拒绝访问。” (.Net SqlClient Data Provider)错误号: 22002 严重性: 16 状态: 1
记录一下解决这个问题的过程,我是需要修改数据库服务器的属性里面对于的东西,如果直接在客户端进行可视化修改,你其实修改的东西,客户端会对应的写入到注册表中. 拒绝访问,一般就是没有权限, 解决办法:进入 ...
- VS2017生成项目报 找不到资产文件“xxxx\obj\project.assets.json
VS2017生成项目报 " 找不到资产文件"xxxx\obj\project.assets.json" ": 解决方案: 首先检查是否开启了 " ...
- Visual Studio 2017项目进行打包并附加.net框架打包,菜鸟级安装教程
VS2017项目打包安装教程 一.准备工作 1.安装Installer(若已经安装,则直接进行下一步) 二.打包可执行程序 1.创建setup打包项目 2.编辑Application Folder 3 ...
- VS2017生成一个简单的DLL文件 和 LIB文件——C语言
下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件)和lib文件(静态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件(动态库文件) 生成动态库文件 姿势一 ...
- VS2017 生成DLL 供python 调用
今天突然想到python调用C++的问题,其中碰到了很多坑,最后终于弄好了,写博客来记录一下,以免忘记了: VS2017生成DLL python调用 VS2017生成DLL 1.新建项目->wi ...
- 如何生成lib文件 采用VS2017生成lib文件(静态库文件)以C++语言为例 静态库的生成和使用
开发环境 VS2017 先展示项目解决方案的结构,代码量很小 第一部分:生成静态库,即.lib文件 第一步:新建一个空项目 打开VS2017,文件->新建->项目,选择"空项目 ...
- IDEA 2019 生成Spring Boot项目,编写第一个Hello World程序,并打包成jar
IDEA集成了生成Spring Boot项目的功能,不需要你去 start.spring.io 上下载,使用方法如下: 新建项目,选择Spring Initializr: 然后点NEXT: 勾选需要的 ...
- 如何创建生成非 MFC 项目的自定义 AppWizards
当自定义的应用程序向导生成一个项目时,则它只是不能替换自动创建的.dsp 项目设置文件. .dsp 文件中的项目设置由假定所有生成的项目为 MFC 项目的内部规则设置. 但是,Visual C++ 5 ...
- sqlserver 2017 还原遇到报错The operating system returned the error ‘21(设备未就绪。)‘
环境:windows 2016 + sqlserver 2017 备份时正常,还原时一直卡在下面的界面不动 查看日志发现两个报错 The operating system returned the e ...
最新文章
- 基于多种转换语义的图数据库查询
- iOS开发 - 抛出异常
- 在DataGridView控件中一次显示出多个圆饼图的原始程序代码
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- APP中某个页面巨卡
- rotate 3D 篇二
- 进阶:案例三: Upload File using WebDynpro
- VS运行程序时遇到0xc0150002的问题
- RQNOJ 34 紧急援救
- pythonpdf识别文字软件_如何使用Python进行PDF图片识别OCR
- android pin码 经典蓝牙_请问 蓝牙 的自动设置PIN码 功能该怎么实现。
- 计算机网络的组成与分类
- 交通-地铁客流量python时间序列预测
- 学会这些,不做委屈的项目经理
- CF小组训练赛 Holiday 19
- 阿里巴巴为什么“去IOE”
- matlab 设置采样时间设置,不建议设置采样时间的模块
- 何为智能家居上游产业?对其发展有何影响
- 公众号榜单 | 2020·8月公众号行业排行榜重磅发布
- 徒弟请客吃饭,老员工想点硬菜,师傅用这招摆平,同事:别惯着
热门文章
- ☆用Python实现ACM各大输入输出格式
- 【牛客 - 283C】模拟只会猜题意(简单模拟)
- 【nyoj - 252】 01串(简单dp)
- 【POJ - 3268 】Silver Cow Party(Dijkstra最短路+思维)
- php mysql int 日期格式化 string,MYSQL int类型字段的时间存放和显示 和 php的时间存放函数...
- mnesia mysql性能,Mnesia数据库的存储容量是多少?
- python一个月能掌握吗_Python 从入门到精通:一个月足够了!
- matlab 排序点,matlab如何进行排序?
- linux添加启动脚本文件夹,linux – 将脚本中的符号链接添加到rc.d文件夹中以在系统启动期间启动进程...
- Linux实验五:Linux环境下的C语言编程