locked
Cambiar EXECUTE AS de multiples SPs RRS feed

  • Pregunta

  • buenos días,

    Actualmente dentro de la base de datos se encuentran una gran cantidad de SPs (aproximadamente unos 50). donde anteriormente se coloco el comando EXECUTE AS OWNER, se me ha encargado la tarea de meterme en cada uno de los sp que contengan este comando y borrar esta linea de comando. Dada la gran cantidad de Sps, y lo fastidiosa de la tarea, me preguntaba si habría una forma mas eficiente de realizar esta tarea, he estado tentando en hacer una modificación sobre la tabla sql_modules en la columna definition, lo que no se si haria que el cambio se hiciera automáticamente o se necesita un commit a la tabla (es decir hacer un alter procedure para que los cambios realmente tengan efecto.). Mi segunda opción es un campo en all_objects llamado execute_as_principal_id, pero me imagino que este campo queda omitido ante una clausula explicita execute dentro del SP.

    Que me aconsejan para este caso?, debere abrir los 50  Sps y borrar esa linea las 50 veces?

    Saludos,


    Ronald Villegas

    lunes, 26 de enero de 2015 18:45

Respuestas

  • Hola Ronald,

    Al iniciar la lectura de tu requerimiento pensé que sería una cantidad de 500 o 1000 procedimientos cuando mencionabas que era una gran cantidad. Vamos, son 50, no estoy seguro de que puedas "bloquear" la acción, quizá demores más en obtener una solución que en hacerlo manualmente y para ello tienes varias maneras, entre ellas lo que te comenta Sergio.


    lunes, 26 de enero de 2015 18:55

Todas las respuestas

  • Hola :

    Lo que se me ocurre es generar los scripts de los procedimientos almacenados dando click derecho sobre tu BD, Tasks, Generate Scripts... que te los genere en una ventana nueva y reemplazas esa linea con un CTRL + H

    Creo que sería lo más conveniente, a menos que tengas alguna particularidad que te impida hacer esto.

    SALUDOS


    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE

    lunes, 26 de enero de 2015 18:53
  • Hola Ronald,

    Al iniciar la lectura de tu requerimiento pensé que sería una cantidad de 500 o 1000 procedimientos cuando mencionabas que era una gran cantidad. Vamos, son 50, no estoy seguro de que puedas "bloquear" la acción, quizá demores más en obtener una solución que en hacerlo manualmente y para ello tienes varias maneras, entre ellas lo que te comenta Sergio.


    lunes, 26 de enero de 2015 18:55