Ho tracciato una procedura memorizzata come mostrato in SQL Server 2005 Profiler.Non è stato trovato ma funziona.Perché?

StackOverflow https://stackoverflow.com/questions/85181

Domanda

Questo è piuttosto strano.

Ho il mio Profiler aperto e ovviamente mostra che viene chiamata una procedura memorizzata.Apro il database e l'elenco degli SP, ma l'SP non esiste.Tuttavia, esiste un altro SP il cui nome è lo stesso tranne che ha il prefisso "x"

SQL Server 2005 mappa il nome SP su uno diverso per motivi di sicurezza?

MODIFICARE:Ho scoperto che è un sinonimo, qualunque cosa sia.

È stato utile?

Soluzione

In generale, quando si sa che un oggetto esiste perché è stato utilizzato in una query e non è possibile trovarlo nella struttura degli oggetti in Management Studio, è possibile eseguire questa operazione per trovarlo.

select *
from sys.objects
where name = 'THE_NAME_YOU_WANT'

Ho appena controllato e funziona con i sinonimi.

Altri suggerimenti

Domande forse sciocche, ma per ogni evenienza...hai aggiornato la lista degli SP?Hai controllato la presenza di una procedura memorizzata con quel nome sotto un proprietario diverso?Se hai creato la procedura memorizzata senza specificare il proprietario, potrebbe essere nell'elenco di tua proprietà (o non esserlo affatto se l'elenco viene filtrato solo su "dbo", ad esempio).

Potresti non avere l'autorizzazione per vedere tutti gli oggetti nel database

In aggiunta alle risposte precedenti, potrebbe anche trovarsi in "Procedure memorizzate di sistema" e se il nome della procedura memorizzata inizia con "sp_", potrebbe anche trovarsi nel database principale.

La procedura memorizzata sarà all'interno del database selezionato al momento della creazione della procedura memorizzata.Quindi cerca all'interno del database da cui sta estraendo i dati, altrimenti sarà all'interno del database principale.Se ancora non riesci a trovare la soluzione migliore, la prima soluzione numerica.cioè.

select * from sys.objects where name = 'name of stored procedure'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top