2017-10-18 3 views
0

Ich habe eine ASP.NET MVC 4-Website an eine MS SQL Server-Datenbank gebunden. Ich kann unter den vielen aspnet_ gespeicherten Prozeduren einige benutzerdefinierte sehen.Woher weiß ich, ob eine gespeicherte Prozedur verwendet wird?

Woher weiß ich, ob diese benutzerdefinierten gespeicherten Prozeduren verwendet werden? Soll ich den C# -Code oder etwas anderes überprüfen?

Danke.

+0

Benutzerdefinierte gespeicherte Prozeduren sollten nicht das Präfix "aspnet_" haben –

+0

Warum müssen Sie wissen, welches verwendet wird? Möchten Sie zu einer anderen Art von Datenbank migrieren? Link, wie Informationen über verwendete SP auf Produktion erhalten, zum Beispiel https://www.mssqltips.com/sqlservertip/3259/several-methods-to-collect-sql-server-stored-procedure-execution-history/ – zxxc

Antwort

1

Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die gespeicherte Prozedur -> Abhängigkeiten anzeigen.

Suchen Sie auch den C# -Code nach dem Namen der gespeicherten Prozedur.

+0

das OP sollte tue das völlig, aber es wird ihm nicht helfen, wenn ein anderer Client diese Datenbank benutzt. –

+0

Sicher, ich denke, die Kombination unserer Antworten wäre die beste. – hellogoodnight

+0

Sie alle hängen nur von ihrem Selbst ab ... – abenci

0

, wenn Sie die entsprechenden SQL-Berechtigungen haben, können Sie einfach laufen

SELECT 
    DB_NAME(database_id), 
    OBJECT_NAME(object_id), 
    cached_time, 
    last_execution_time, 
    execution_count 
FROM 
    sys.dm_exec_procedure_stats; 

Das wird Sie das letzte Mal sagen, jede gespeicherte Prozedur ausgeführt wurde auf die Instanz, die Sie sind abfragt.

Abgesehen davon denke ich nicht, dass es einen Weg gibt. Der Cache speichert Ausführungspläne zu einem gewissen Grad, aber sie werden enorm und werden standardmäßig im Speicher abgeschnitten. Und gespeicherte Prozeduren können so konfiguriert werden, dass sie sowieso ohne einen Ausführungsplan ausgeführt werden, insbesondere die groovig neuen kompilierten gespeicherten Prozeduren.

Das Suchen des C# wird fast sicher nicht helfen, außer Sie sind sicher, dass Ihr Code der einzige Client ist.

Verwandte Themen