一个存储过程 如下create proc haha
as
select * from [服务器IP].dbo.table1
end
现在我想修改服务器的ip  前提是 不能直接打开存储过程修改  如何实现?修改 系统表syscomments里面的text 可以实现吗?
就是相当于不直接修改存储过程  间接的修改

不知道大家明白了吗
万分感谢大虾们了

解决方案 »

  1.   

    2000下应该可以 的,SP_CONFIGURE 'ALLOW UPDATES',1 
    GORECONFIGURE WITH OVERRIDE
    GO
      

  2.   

    create proc pr_ts
    as
    select '192.168.0.100'
    go
    SP_CONFIGURE 'ALLOW UPDATES',1 
    GORECONFIGURE WITH OVERRIDE
    GOupdate  syscomments 
    set [text] = replace([text],'192.168.0.100','192.168.0.101' )
    where id = object_id('pr_ts') --大体上这样sp_configure 'allow updates', 0 
    go
    reconfigure with override
    Go 
      

  3.   

    2000还是可以修改的,2005虽然有'ALLOW UPDATES'配置,但是不再起作用了
      

  4.   

    alter怎么不好?
    修改系统表,后患无穷~~~
      

  5.   

    尝试当然是可以的。设置 allow updates 为1
    然后更新syscomments再还原回来最好还是老老实实用alter