【发布时间】:2011-08-23 16:39:47
【问题描述】:
假设我有一个存储过程 proc_MyTestProc。
我想为这个过程创建一个名为 proc_MyTestProc_{timestamp} 的备份副本,并在它的位置创建这个过程的一个新实例。这是我目前的方法:
- 在 proc_MyTestProc 上运行 sp_rename,附加时间戳。
- 为新版本的 proc_MyTestProc 运行新的 CREATE 脚本。
这种方法的问题在于它不适用于复制。原始过程保留相同的对象 ID。第 2 步中创建的过程是我想要复制到另一个数据库的过程,但它有一个新的对象 ID,所以它不会复制。
是否有替代 SP_RENAME 的方法来创建具有新对象 ID 的对象副本?
我正在运行 SQL Server 2005。
【问题讨论】:
-
考虑改用source control
-
@Andomar +1 我正要提出同样的建议。我无法忍受看到 15 个旧的、过时的存储过程版本,名称后面附加了旧的时间戳。
-
@Andomar:我同意,因为乌龟是免费的。我的回答只是展示如何去做,而不是解决问题:)
标签: sql-server sql-server-2005 replication database-replication