很大可能是SQL Server Management Studio(SSMS)版本与当前操作系统不兼容造成的,与数据库本身没有关系,这种情况基本无解,不过可以使用其他机器连本机数据库导入导出数据。
今天在使用SQL Server 2014 导“出数据”时,报了一个错,内容如下:
无法创建 SSIS 运行时对象。请验证 DTS.dll 是否可用及是否已注册。此向导无法继续而将终止。
无法将类型为“Microsoft.SqlServer.Dts.Runtime.Wrapper.PackageNeutralClass”的 COM 对象强制转换为接口类型“Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSContainer90”。此操作失败的原因是对 IID 为“{8BDFE892-E9D8-4D23-9739-DA807BCDC2AC}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 没有注册接口 (异常来自 HRESULT:0x80040155)。 (Microsoft.SqlServer.DTSRuntimeWrap)
原因
根据提示,是没有注册DTS.dll导致的。
解决方法
重新注册下DTS.dll。
打开cmd命令行,执行命令regsvr32 "C:\Program Files\Microsoft SQL Server\120\DTS\Binn\DTS.dll"
注意:这个路径里面的120
是对应SQL Server 2014版本的,其他版本根据实际修改。
如果没有报错,则注册成功,可以使用"导入/导出数据"了。
如果报错提示:
模块已加载,但对dllregisterServer的调用失败
同样情景:
无法创建 SSIS 数据流任务。请验证 DTSPipeline.dll 是否可用及是否已注册。此向导无法继续而将终止。 (SQL Server 导入和导出向导)
解决方案:同上
如果还不行,这把以上几种.dll文件或者对应文件夹中的所有.Dll都注册一遍
如果是在Windows10上面,注册DTSPipeline.dll可能并不能解决问题