/**//*-------------------- -- 运行示例: Pro_LinkServer 'dbserver','192.168.1.1','sa','sapassword' -- 运行后操作数据库: select * from db.pubs.dbo.titles -- 参数: -- @linknm :链接别名 -- @rmserv :链接地址 -- @rmuser :用户名称 -- @rmpawd :用户密码 ---------------------*/ CREATEprocedure HD_AddLinkServer @linknm sysname, @rmserv sysname, @rmuser sysname, @rmpawd sysname, @flagtinyint=0--0:add 1:drop 2:list as begin if@flag!=2andisnull(@linknm,'')='' begin raiserror('链接服务器名不能为空。',16,-1) return end if@flag=0andisnull(@rmuser,'')='' begin raiserror('远程登陆用户名不能为空。',16,-1) return end declare@errint if@flag=0 begin ifisnull(@rmserv,'')=''select@rmserv='127.0.0.1' exec@err=master.dbo.sp_addlinkedserver @linknm if@err=0 begin exec@err=master.dbo.sp_serveroption @linknm,'use remote collation','false' ifisnull(@rmserv,'') notin ('',@linknm) exec@err=master.dbo.sp_setnetname @linknm,@rmserv if@err=0 exec@err=master.dbo.sp_addlinkedsrvlogin @linknm,'false',null,@rmuser,@rmpawd end endelse if@flag=1 begin exec@err=master.dbo.sp_dropserver @linknm,'droplogins' endelse if@flag=2 begin exec@err=master.dbo.sp_helpserver select*from master.dbo.sysservers end if@err=0print'Sql server link success'elseprint'Sql server link fail' end GO