如何强制sql server用户存储过程不能创建为系统存储过程

时间:2013-12-05 15:46:03

标签: sql-server stored-procedures

我在所有SQL Server 2005,2008和2008 R2数据库服务器中创建了Brent Ozar的SP_Blitz和SP_BlitzIndex存储过程。所有SP_Blitz存储过程都是作为用户存储过程创建的,但SP_BlitzIndex存储过程是作为每个服务器中的系统存储过程创建的。所有这些存储过程的所有者是dbo。我还创建了SP_Who3和SP_WhoIsActive存储过程,它们都是作为用户存储过程创建的。有没有人知道为什么会发生这种情况,以及如何强制将SP_BlitzIndex存储过程创建为用户存储过程?

1 个答案:

答案 0 :(得分:2)

布伦特·奥扎尔在这里。

我的联合创始人Kendra Little写了sp_BlitzIndex™,她选择将其创建为系统存储过程。如果您查看源代码,请参阅以下行:

EXEC sys.sp_MS_marksystemobject 'dbo.sp_BlitzIndex';

如果您不希望将其创建为系统存储过程,则可以取消注释该行。

希望您喜欢我们的免费工具!