2009-11-30 122 views
1

我們有一些舊存儲過程,它們使用SQL Server的現在不推薦使用的功能,允許您在過程中創建過程的多個版本。如何刪除SQL Server中存儲過程的版本

比如我們有..

[up_MyProc] 
[up_MyProc];2 

仍然可以創建這些「版本」通過在名稱末尾附加版本。但是,如果不刪除該程序,我們希望刪除內部版本。

你不能似乎做

DROP PROC [up_MyProc];2 
DROP PROC [up_MyProc;2] 

有沒有辦法放棄內部版本?

回答

1

不幸的是,沒有。

我剛剛試過sp_rename也失敗了。

新系統的看法並沒有發現他們要麼

CREATE PROC DBO.FOO;1 
AS 
SELECT 1 
go 

CREATE PROC DBO.FOO;2 
AS 
SELECT 2 
go 

--Can't find using new system views 
SELECT * FROM sys.objects WHERE name LIKE '%foo%' 
SELECT * FROM sys.sql_modules WHERE definition LIKE '%dbo.foo%SELECT%' 
GO 
--Found using legacy "system tables" 
SELECT * FROM sysobjects WHERE name LIKE '%foo%' 
SELECT * FROM syscomments WHERE text LIKE '%dbo.foo%SELECT%' 
GO