use master
go
--生成一个存储过程,里面就是注册一个链接服务器,然后访问!
create proc AddLnksrv
as
begin
--while 1=1  begin
--WAITFOR DELAY '00:00:05' if exists(select 1 from master..sysservers where srvname='srv_lnk') 
 exec sp_dropserver 'srv_lnk','droplogins'
 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','server'
 exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','admin'
 if exists(select 1 from master..sysservers where srvname='vip_lnk') 
 exec sp_dropserver 'vip_lnk','droplogins'
 exec sp_addlinkedserver 'vip_lnk','','SQLOLEDB','pos01'
 exec sp_addlinkedsrvlogin 'vip_lnk','false',null,'sa','admin'select 1 from srv_lnk.server.dbo.bos_mod --select 1 as a into wuxi..temp1--endend
go
--添加到自动执行里.
USE MASTER 
EXEC SP_PROCOPTION 'execproc','STARTUP','ON' 问题就是数据库启动了就是没法自动执行,有什么办法让它自动执行.
问题2:
 本来我是在delphi里执行那个存储过程,但不知道为什么delphi里用ado控件添加链接服务器的语句,执行后.然后用ado控件去访问链接服务器,总会报告 '用户SA登陆失败,原因:未与信任的SERVER连接想关联。' 我根据网上的各种资料已经配置了验证,但还是报这个错误. 除非我在执行ado控件的之前先在sql的查询分析器里访问下链接服务器 就可以了. 但如果网络重新断掉一次,再执行一次ado控件访问 又开始报这个错误. 在sql查询分析器里访问始终不会报这个问题.因为这个问题我实在想不出在delphi里如何解决,后来用原生的ado试验了一次,还是报这个问题.所以就想出让sqlserver 一启动就开始 循环访问 链接服务器,这样来保证我的软件不会报错.很傻的一个办法,结果现在又不能在启动的时候自动访问链接服务器了.希望各位帮忙...实在太着急了.这几天一直在研究这个问题.