安装“Microsoft SQL Server 2014 Management Objects”时报错"Error Writing to file: Microsoft.SqlServer.XEvent.Linq.dll."
问题:
当安装的软件依赖Microsoft SQL Server 2014 Management Objects时,会把这个组件打进安装包里,但是在服务器上安装时却报如下错误:
“Error Writing to file: Microsoft.SqlServer.XEvent.Linq.dll. Verify that you have access to that directory.”

环境:
Windows Server 2008 R2、安装支持“SQL Server 2012 / 2014” 的数据库脚本安装包
分析:
从错误信息可以看出,有两个可能的原因:
- 没有权限访问这个文件或文件夹
- 通过Search Everything来查看此文件在哪些目录里,看看当前账户是否有“写”的权限
- 如果都有权限,则可能是需要找的文件并不是在找到的目录里,考虑2的可能性
- 所报错的文件或文件夹不存在,或访问不到
- 访问不到很可能是目录未添加到可访问的环境变量里
- 不存在很可能是缺少安装的软件,通过对比“可安装的服务器”与“问题服务器”,最终发现,“可安装服务器”安装了.net framework 4.5,其实.net framework 4.0开始就包含这个dll了,所以只要安装.net framework 4.0就可以
解决方案:
在当前机器上首先安装.net framework 4.0(或更高的版本), 重启后再安装此数据库脚本安装包,就能正确安装成功了。Windows Server 2008 R2 默认带的.net framework版本是3.5
"Microsoft SQL Server 2008/2012/2014 Management Objects" 介绍
SqlServer (version) Management Objects 简称SMO,安装SQL Server数据库时会自动带上这个模块,主要功能由C:/Program Files/Microsoft SQL Server/90/SDK/Assemblies/Microsoft.SqlServer.Smo.dll文件中的相关对象来实现,可以被用来开发SQL Server数据库操作的产品。只要SQL Server Management Studio(图形化管理数据库的工具)能实现的东西,用smo都能实现,因为SQL Server Management Studio就是用smo开发的。如果你有足够的实力,完全可以开发一个可以藐视SQL Server Management Studio的工具,比如加入智能感知的功能。
当打包数据库脚本安装包时需要打包此组件的原因是:此数据库脚本安装包(.exe)有可能是在一台没有安装SQL Server数据库软件的机器上,这个组件用来支持通过输入数据库Server的IP地址、用户名、密码达到在本机执行SQL脚本到目标数据库的目的。
安装“Microsoft SQL Server 2014 Management Objects”时报错"Error Writing to file: Microsoft.SqlServer.XEvent.Linq.dll."的更多相关文章
- SQLServer学习-- Microsoft SQL Server 2008 Management Studio Express
Microsoft SQL Server 2008 Management Studio Express is a free, integrated environment for accessing, ...
- 关于sql server 2008 r2 展开时报错:参数名:viewInfo ( Microsoft SqlServer Management SqlStudio Explorer )解决思路
今天安装了sql server 2008 R2,安装成功之后我打开软件登陆都没问题,但是一展开选项就弹出错误提示框: 参数名:viewInfo 不能为空 (Microsoft SqlServer Ma ...
- 安装了 R2 Integration Servic 之后,SQL Server 2008 Management Studio报错
问题产生 IM数据库服务器未安装Integration Servic,影响备份.在安装了安装了 SQL Server 2008 R2 Integration Servic 之后,SQL Server ...
- python安装报错error writing to file:......
今天换了win10 64电脑,安装python3.6.8时,报错:error writing to file:...... 安装时,右键--以管理员身份运行,安装成功.
- SQL Server中删除用户时报错,提示:The database principal owns a schema in the database, and cannot be dropped(转载)
Description of the problem: When you tried to drop a user, you got this message: Error: 15138 The da ...
- sql server数据库查询超时报错
报错信息如下: 链接服务器"DBJointFrame"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "查询超时已过期". ...
- 安装 SQL Server 2014 Express
安装 SQL Server 2014 Express 我的电脑系统: Windows 10 64位 一 . 下载 安装Microsoft SQL Server 2014 Express 软甲下载地址: ...
- Microsoft SQL Server Version List [sqlserver 7.0-------sql server 2016]
http://sqlserverbuilds.blogspot.jp/ What version of SQL Server do I have? This unofficial build ch ...
- Microsoft SQL Server Version List(SQL Server 版本)
原帖地址 What version of SQL Server do I have? This unofficial build chart lists all of the known Servic ...
随机推荐
- go语言合并两个数组
https://stackoverflow.com/questions/16248241/concatenate-two-slices-in-go Add dots after the second ...
- Maven如何上传ja包到远程仓库
本文转载自沧海一屌丝的博客 https://blog.csdn.net/qq_31924435/article/details/53745811 mvn install 会将项目生成的构件安装到本地 ...
- UPS电源运用在数据中心,有什么优势?
UPS电源是每个数据中心为了保证服务器与计算设备不被电力线干扰与电能质量问题所影响的设备. 1.电源选择 运用在线式或是后备式UPS电源,均需依照微机设备的需求与经济条件所决定.若是经济条件相对较好, ...
- 控制warning信息在控制台的显示
在运行代码时,有时出现warning信息, 1.当你后台不需要warning信息的时候,可以直接把warning信息省略掉. 2.如果代码是循环,则会在控制台打印多次warning信息,这会使得war ...
- C/C++系列之复杂引用
以struct类型为例: 引用 #include"iostream" #include<string> using namespace std; struct myco ...
- Springboot注解@ServletComponentScan和@ComponentScan(转)
一.SpringBoot中使用Servlet在SpringBootApplication上使用@ServletComponentScan注解后,Servlet.Filter.Listener可以直接通 ...
- 008_Linux驱动之_IO口的配置
1. 测试:配置S3C2440的GPF4,5,6为输出 2. 测试IO的地址从芯片手册中获取以下资料 3. 从上面可以看出配置输出对应的设置是01=输出,那么对应位如:[9:8]需要设置成=01 4. ...
- win10以及ubuntu下设置pip源
问题描述:有一段时间下载python库的时候速度非常慢,想着提高安装python库的速度. window10下: 一:首先进入c盘的用户目录,如我的目录为C:\Users\felix. 二:创建名为p ...
- 1628:X-factor Chain
1628:X-factor Chain 时间限制: 1000 ms 内存限制: 524288 KB提交数: 122 通过数: 68 [题目描述] 原题来自 POJ 3421 输 ...
- shell 字符串分割cut
cut 选项与参数 -d:后面接分隔字符.与-f一起使用. -f:依据-d的分隔字符将一段信息分隔数段,用-f取出第几段的意思. -c:以字符的单位取出固定字符区间 [zhang@localhost ...