USE [MASTER]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
USE [MASTER]
GO
CREATE PROCEDURE [dbo].[TOTALLY_NEW] @FISCAL_YEAR NVARCHAR(4) AS
BEGIN
PRINT 'HERE'
END
GO
select * from master..sysobjects
where name like 'tot%'
< - 返回一行!!!!!!
我已经刷了十几次这个清单.. !! 我试过断开连接并重新连接.. 我之前在图片中创建了所有其他SP。
这是一张更多的照片。
答案 0 :(得分:2)
确保您使用的用户具有查看存储过程的权限。我不是100%在SQL Server上获得权限,但我在其他一些用户创建SP的数据库上看到了这个问题,但是另一个用户没有查看或列出SP的权限。
答案 1 :(得分:1)
根据请求,将评论转换为答案:
是的,您不应该在master中创建用户对象。我唯一一次这样做的时候是我明确想要创建一个实用程序,我可以使用该数据库的上下文从任何数据库调用,你必须这样做而且不是偶然发生的 - 所以我怀疑你无意中标记了您的对象作为系统过程。您可以使用EXEC sp_MS_marksystemobject执行此操作(或者在旧版本中通过设置EXEC sp_MS_upd_sysobj_category 1 - 后者可能在2005年使用80兼容性,但不确定)。