怎么建立
我的方法是这个样子的。你们帮我看看
首先
USE test
GO
EXEC sp_addlinkedserver
'suibian', --名称
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=13.1.1.90;UID=sa;PWD=119;'
exec sp_addlinkedsrvlogin 'test','false','sa','119',''
我的方法是这个样子的。你们帮我看看
首先
USE test
GO
EXEC sp_addlinkedserver
'suibian', --名称
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=13.1.1.90;UID=sa;PWD=119;'
exec sp_addlinkedsrvlogin 'test','false','sa','119',''
exec OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.存储过程名select * into 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名insert 本地库名..表名 select * from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名或使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go
create trigger test
on test
for insert
as
insert into test.dbo.test
select * from inserted
GO
这个是我用来插到那台服务器的触发。
可是sql提示如下错误:
错误8101:仅当使用了列的列表,并且IDENTITY_INSERT为ON时,才能在表的test.dbo.test中为标示列指定显示值
这是什么原因呢?????????????????????????????
on test
for insert
as
set IDENTITY_INSERT test.dbo.test ON
insert into test.dbo.test select * from inserted
set IDENTITY_INSERT test.dbo.test OFF
GO
on test
for insert
as
--set IDENTITY_INSERT test.dbo.test ON
insert into test.dbo.test(除标识列的字段列表) select (与前面一一对应的字段列表) from inserted
--set IDENTITY_INSERT test.dbo.test OFF
GO