Ich wurde gebeten, ein Berechtigungsproblem mit einer gespeicherten Prozedur zu identifizieren. Diese gespeicherte Prozedur verhält sich auf zwei Arten, je nachdem, welche Werte für ihre Parameter verwendet werden.
exec ps_my_stored_procedure @a=1, @b=2, @c=3
wird ganz anders gehandhabt als
exec ps_my_stored_procedure @a=5, @b=7, @c=0
Man könnte sagen, das ps_my_stored_procedure
ist logisch in zwei völlig getrennte Prozesse unterteilt.
Mit dm_exec_procedure_stats
und dm_exec_query_stats
kann ich den Ausführungsplan finden, der die SQL der verwendeten gespeicherten Prozedur zeigt. Ich konnte jedoch nicht wiederherstellen, wie die Parameter definiert wurden und mit welchen Werten.
Ist es möglich, mit dm_exec_procedure_stats
und dm_exec_query_stats
und anderen Verwaltungsansichten die Ausführung der gespeicherten Prozedur zu rekonstruieren, die die für ihre Parameter verwendeten Werte anzeigt?
Was ich wirklich gerne im Cache finden würde, ist die tatsächliche Ausführung der gespeicherten Prozedur, damit ich sie so ausführen kann, wie sie EXECUTE AS LOGIN = 'someone'
zur Behebung der Berechtigungsprobleme verwendet wird
n.params.nodes
XML keinColumnReference
Element enthält . Es enthält nur<ScalarOperator ScalarString="(0)"> <Const ConstValue="(0)" /> </ScalarOperator> <ScalarOperator ScalarString="NULL"> <Const ConstValue="NULL" /> </ScalarOperator>
Folgendes : Funktioniert auch 2012 nicht. Was fehlt?