或使用联结服务器: EXEC sp_addlinkedserver '别名', '', 'MSDASQL', NULL, NULL, 'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;' GO 然后你就可以如下: select * from 别名.库名.dbo.表名 insert 库名.dbo.表名 select * from 别名.库名.dbo.表名 select * into 库名.dbo.新表名 from 别名.库名.dbo.表名 go
BEGIN DISTRIBUTED TRANSACTIONinsert into db2.dbo.t2 select * from db1.dbo.t1 t1 where t1.id=关键字delete from db1.dbo.t1 t1 where t1.id=关键字COMMIT TRAN
to feelingrun: 我开始也是这样做的,但sqlserver报“新事务不能登记到指定的事务处理器中”错误
我一直用openrowset,请问楼上的,两个server怎么link?
create proc 名 as SET ANSI_NULL_DFLT_ON on --注意 SET ANSI_WARNINGS on select * from open...-------------------启动分布式事务------------------------------ 本地和远程都需要启动 DISTRIBUTED TRANSACTION COORDINATOR服务。
EXEC sp_addlinkedserver
'别名',
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
GO
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go
我开始也是这样做的,但sqlserver报“新事务不能登记到指定的事务处理器中”错误
as
SET ANSI_NULL_DFLT_ON on --注意
SET ANSI_WARNINGS on select * from open...-------------------启动分布式事务------------------------------
本地和远程都需要启动
DISTRIBUTED TRANSACTION COORDINATOR服务。