Хранимая процедура не будет отображаться в проводнике объектов? - PullRequest
1 голос
/ 30 июля 2011
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%' <- возвращает одну строку !!!!!! </p>

Я обновлял этот список дюжину раз .. !! Я пытался отключиться и подключиться .. Я создал все эти другие SP, перечисленные на картинке ранее.

enter image description here

Вот картинка с больше. enter image description here

Ответы [ 2 ]

2 голосов
/ 30 июля 2011

Убедитесь, что у пользователя, которого вы используете, есть разрешения на просмотр хранимых процедур. Я не на 100% использую разрешение SQL Server, но я видел эту проблему в нескольких других базах данных, где пользователь создает SP, но другой пользователь не имеет разрешения на просмотр или просмотр списка SP.

1 голос
/ 01 августа 2011

За запрос, преобразование комментария в ответ:

Да, вы не должны создавать пользовательские объекты в master. Единственный раз, когда я это делаю, это когда я явно хочу создать служебную процедуру, которую я могу вызывать из любой базы данных, используя контекст этой базы данных, что вы должны сделать специально, а не случайно - поэтому я подозреваю, что вы случайно отметили Ваш объект как системная процедура. Вы делаете это с помощью EXEC sp_MS_marksystemobject (или в более старых версиях, установив EXEC sp_MS_upd_sysobj_category 1 - последний может работать в 2005 году с совместимостью 80, не уверен).

...