跨服务器提取数据出错
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "未指定的错误"。
消息 7330,级别 16,状态 2,第 1 行
无法从链接服务器 "(null)" 的 OLE DB 访问接口"SQLNCLI10"提取行。
执行到10000万多条的时候,一直提示上面的错误。不知道什么原因。
有试过分两批获取数据,分批一开始没问题,但是过一段时间后又提示该错误。请大家帮忙看看。谢谢! 服务器 无法提取行
[解决办法]
你重新创建链接试试看。
exec sp_addlinkedserver 'DB32', ' ', 'SQLOLEDB', '192.168.3.x\SQLEXPRESS2008R2'
exec sp_addlinkedsrvlogin 'DB32', 'false',null, 'sa', 'Glacier2011'
--查询
select * from 链接名称.数据库名.dbo.表名
--不用后删除
exec sp_dropserver 'MEDICSCA_2013', 'droplogins'
--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset
--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库
名.dbo.表名)
--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner
join 本地表 b
>exec sp_addlinkedserver @server=’别名’,@provider=’sqloledb’,@srvproduct=’’,@datasrc=’远程服务器IP’
远程注册成功:(亲测)
--exec sp_addlinkedserver '注册名','','SQLOLEDB','远程数据库名'
--exec sp_addlinkedsrvlogin '注册名','false',null,'用户名','密码'
[解决办法]
2边都执行: dbcc checktable('[表名]') 看是否有错误.
[解决办法]
加WHERE条件,试着过滤,可能有问题的那些行,是否能正常导出?
[解决办法]
一次操作的数量太多了吧,时间太长也会有问题。