server2000中存储过程的调用(不同注册服务器的调用)

foomscat 2003-11-24 02:54:55
注册服务器A中db1的table1的存储过程proc1如何调用注册服务器B中db2的table2的存储过程proc2?
注册服务器即控制台SQL Server组树下东西,不知道我如此称谓对不对,大家明白就行。
...全文
30 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-11-24
  • 打赏
  • 举报
回复
上面的操作是个例子,根据你的情况再描述一下:


在查询分析器中登陆到服务器A,执行下面的语句,创建链接到服务器B的链接服务器:

--创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','服务器B'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa' --如果有密码,加上:,'密码'
exec sp_serveroption 'srv_lnk','rpc out','true'
go

--然后在db1的table1的存储过程proc1中这样来调用服务器B上的存储过程
create proc proc1
as
exec srv_lnk.db2.dbo.proc2
go
zjcxc 元老 2003-11-24
  • 打赏
  • 举报
回复
--创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','xz'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa'
exec sp_serveroption 'srv_lnk','rpc out','true'
go

--然后用下面的执行远程服务器上的存储过程
exec srv_lnk.数据库名.dbo.存储过程名

go
--后删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
pengdali 2003-11-24
  • 打赏
  • 举报
回复
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
pengdali 2003-11-24
  • 打赏
  • 举报
回复
企业管理器-->右键SQlserver组-->新建sqlserver注册-->下一步-->写入远程实例名(IP,机器名)-->下一步-->选Sqlserver登陆-->下一步-->写入登陆名与密码(sa,pass)-->下一步-->下一步-->完成
txlicenhe 2003-11-24
  • 打赏
  • 举报
回复
使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO

然后你就可以如下:
exec 服务器别名.db2.proc2

select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧