sqlserver链接服务器使用方法

EXEC sp_addlinkedsrvlogin @rmtsrvname = 'serverontest', @useself = 'false', @locallogin = 'sa', @rmtuser = 'sa', @rmtpassword = 'passwordofsa'

添加登录方式

以上两个语句中,@server为服务器的别名,@datasrc为要链接的目标数据库的连接串,@rmtsrvname为别名,@locallogin为本地登录的用户名,@rmtuser和@rmtpassword为要链接的目标数据库的登录用户名和密码

添加完链接服务器之后,可以通过select * from sys.linked_logins 和 select * from sys.servers来查看已经添加的链接服务器和登录角色

添加完链接服务器后,使用select * from 别名.库名.dbo.表名 来对其中的数据进行查询

删除链接服务器登录映射和链接服务器的方法:
  exec sp_droplinkedsrvlogin 'serverontest' ,'sa' 
  exec sp_dropserver 'serverontest'


例子:

EXEC sp_addlinkedserver 'xiaoming','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=172.18.17.65;UID=sa;PWD=vip;'
--建立链接服务器登录映射
exec sp_addlinkedsrvlogin @rmtsrvname='xiaoming',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='vip'
go
  --查询数据   
select * from xiaoming.HR_QustionNew.dbo.T_Organise 
  --删除链接服务器登录映射和链接服务器:   
exec sp_droplinkedsrvlogin 'xiaoming' ,'sa' 
exec sp_dropserver 'xiaoming'   
  注意事项:   
  SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }   
  所以不能通过连接服务器设置此属性   
  into 也存在这样的问题   
  select * into xiaoming.northwind.dbo.tt from   
  xiaoming.northwind.dbo.tt  

 

 --------修改链接服务的  数据源

/****** 对象:  StoredProcedure [dbo].[UpdateLinkedServer]    脚本日期: 08/29/2011 09:14:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[UpdateLinkedServer] @LinkedServerName nvarchar(50), @SourceServerName nvarchar(50), @LoginName nvarchar(50), @Password nvarchar(50)
AS
BEGIN
 
    EXEC('IF EXISTS (SELECT srv.name FROM sys.servers srv WHERE srv.server_id != 0 AND srv.name = N''' + @LinkedServerName + ''') ' +
         'EXEC master.dbo.sp_dropserver @server=N''' + @LinkedServerName + ''', @droplogins=''droplogins''')
    EXEC('
 EXEC master.dbo.sp_addlinkedserver @server = N''' + @LinkedServerName + ''', @srvproduct='''', @provider=N''SQLOLEDB'', @datasrc=N''' + @SourceServerName+ ''' ' +
 'EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N''' + @LinkedServerName + ''',@useself=N''False'',@locallogin=NULL,@rmtuser=N''' + @LoginName + ''',@rmtpassword=''' + @Password + ''' '
    )
END
-- EXEC dbo.UpdateLinkedServer 'LINKSERVER_13',IP,'用户名','密码'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值