一个很难的问题

linzi_0535 2008-11-01 01:37:51
一个存储过程 如下

create proc haha
as
select * from [服务器IP].dbo.table1
end


现在我想修改服务器的ip 前提是 不能直接打开存储过程修改 如何实现?

修改 系统表syscomments里面的text 可以实现吗?


就是相当于不直接修改存储过程 间接的修改
。。。
不知道大家明白了吗
万分感谢大虾们了
...全文
193 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilovewalk 2008-11-01
  • 打赏
  • 举报
回复
MARK.
fcuandy 2008-11-01
  • 打赏
  • 举报
回复
尝试当然是可以的。设置 allow updates 为1
然后更新syscomments

再还原回来

最好还是老老实实用alter
「已注销」 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 linzi_0535 的回复:]
引用 9 楼 happyflystone 的回复:
2000下应该可以 的,

SP_CONFIGURE 'ALLOW UPDATES',1
GO

RECONFIGURE WITH OVERRIDE
GO


对 是2000

能具体讲解下吗
[/Quote]



就这个吧,你试试
CN_SQL 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 linzi_0535 的回复:]
引用 15 楼 CN_SQL 的回复:
楼主你要干嘛,莫非你是想让别人从系统表里的修改日期看不到你修改了这个存储过程?


赫赫 工作需要 我只是想尝试下这个方法行不行
[/Quote]
理论上可行,但实际可能出现意外.
linzi_0535 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 CN_SQL 的回复:]
楼主你要干嘛,莫非你是想让别人从系统表里的修改日期看不到你修改了这个存储过程?
[/Quote]

赫赫 工作需要 我只是想尝试下这个方法行不行
linzi_0535 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 wufeng4552 的回复:]
alter怎么不好?
修改系统表,后患无穷~~~
[/Quote]


不敢修改了 赫赫
水族杰纶 2008-11-01
  • 打赏
  • 举报
回复
alter怎么不好?
修改系统表,后患无穷~~~
CN_SQL 2008-11-01
  • 打赏
  • 举报
回复
楼主你要干嘛,莫非你是想让别人从系统表里的修改日期看不到你修改了这个存储过程?
-狙击手- 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 linzi_0535 的回复:]
引用 12 楼 happyflystone 的回复:
SQL codecreate proc pr_ts
as
select '192.168.0.100'
go


SP_CONFIGURE 'ALLOW UPDATES',1
GO

RECONFIGURE WITH OVERRIDE
GO

update 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


貌似系统表 是…
[/Quote]


2000还是可以修改的,2005虽然有'ALLOW UPDATES'配置,但是不再起作用了
linzi_0535 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 happyflystone 的回复:]
SQL codecreate proc pr_ts
as
select '192.168.0.100'
go


SP_CONFIGURE 'ALLOW UPDATES',1
GO

RECONFIGURE WITH OVERRIDE
GO

update 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
[/Quote]

貌似系统表 是不能修改的

-狙击手- 2008-11-01
  • 打赏
  • 举报
回复
create proc pr_ts
as
select '192.168.0.100'
go


SP_CONFIGURE 'ALLOW UPDATES',1
GO

RECONFIGURE WITH OVERRIDE
GO

update 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
linzi_0535 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 happyflystone 的回复:]
2000下应该可以 的,

SP_CONFIGURE 'ALLOW UPDATES',1
GO

RECONFIGURE WITH OVERRIDE
GO
[/Quote]

对 是2000

能具体讲解下吗
linzi_0535 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 happyflystone 的回复:]
2000下应该可以 的,

SP_CONFIGURE 'ALLOW UPDATES',1
GO

RECONFIGURE WITH OVERRIDE
GO
[/Quote]

对 是2000

能具体讲解下吗
-狙击手- 2008-11-01
  • 打赏
  • 举报
回复
2000下应该可以 的,

SP_CONFIGURE 'ALLOW UPDATES',1
GO

RECONFIGURE WITH OVERRIDE
GO

ws_hgo 2008-11-01
  • 打赏
  • 举报
回复
关注下
linzi_0535 2008-11-01
  • 打赏
  • 举报
回复
那我该如何解决这个问题呢?


Andy__Huang 2008-11-01
  • 打赏
  • 举报
回复
那就用存储过程加密
等不到来世 2008-11-01
  • 打赏
  • 举报
回复
最好不要修改系统表,
因为它可能会给你带来无穷无尽的烦恼
linzi_0535 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ChinaJiaBing 的回复:]
SQL code
右击打开存储过程,直接修改...
[/Quote]
哈哈 你们耍我啊
说了不能直接修改存储过程阿

气死我了
ChinaJiaBing 2008-11-01
  • 打赏
  • 举报
回复

右击打开存储过程,直接修改...
加载更多回复(2)

34,873

社区成员

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

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