Inicio Programación SQL – Buscar dato o campo en todas las tablas de la...

SQL – Buscar dato o campo en todas las tablas de la base de datos en SQL Server creando un procedimiento almacenado

4248
5
COMPARTIR


Es común que necesitemos encontrar un dato o campo en una base de datos, pero cuando queremos ver en cuantas tablas podemos encontrar este dato, esta tarea se puede volver un poco tediosa por lo complejo que se tornarían los querys para realizar este proceso.

Query para crear el procedimiento almacenado para realizar búsquedas

Con este query se declara y crea el procedimiento anidado que utilizaremos para realizar la búsqueda de los datos o campos en toda las tablas de la base de datos, donde solo utilizaremos una linea de código el cual es “EXEC SearchAllTables ‘Computer’ GO”, pero mas adelante les mostrare esto.

 

Query para realizar la búsqueda realizando la llamada al procedimiento anidado.

Con ejecutar este Query cambiando ‘Busqueda’ por el texto del campo o dato que deseemos buscar, nos realizara la búsqueda de este en todas las tablas y columnas de la base de datos.

 

Creditos a Narayana Vyas Kondreddi

5 Comentarios

  1. Hola muy buen aporte gracias tengo una consulta a ver si puedes ayudarme como puedo mediante un procedimiento almacenado saber si alguien modifica o borra un registro de una tabla

    • Buen dia Erik

      En muchas bases de datos se crea un Log el cual puedes leer para encontrar que movimientos han realizado, al igual muchos desarrolladores crean una tabla como bitacora para facilitar encontrar este tipo acciones.
      Desde el log puedes ejecutar el Query en tu base de datos.

      Obtendras toda la información donde la columna Operation, Transaction ID, Transaction SID son los que interesan Operation es donde muestra la accion realizada en base a lo que busques puedes filtrar la informacion.

      una vez que obtengas el Transaction SID en ID del usuario de la base de datos se puede obtener por medio de

      te dara el nombre de usuario.

      Saludos.

  2. buen dia, me llamo jorge estuve intentado hacer lo de la busqueda de un dato en las tablas de una BD y se creo bien el procedure pero cuando corro el script me sale es sgte error:
    Msg 0, Level 11, State 0, Line 0
    Error grave en el comando actual. Los resultados, si los hay, se deben descartar.

    que puede ser, espero respuesta… salu2

  3. Excelente scritp para búsquedas, muchas gracias por compartir.

    En cuanto al error de Jorge R Cobian N te sugiero revises muy bien lo que escribiste, pues el script funciona al 100%

Deja un comentario...