Necesito buscar en un servidor SQL 2008 procedimientos almacenados que contengan el nombre de un campo de base de datos o nombre de variable.
sql-server
sql-server-2008
tsql
stored-procedures
Gary Kindel
fuente
fuente
¡Obtenga una copia de la herramienta gratuita Red-Gate SQL Search y comience a disfrutar de la búsqueda en SQL Server! :-)
Es una herramienta excelente y muy útil, ¡y SÍ! Es totalmente, absolutamente GRATIS para cualquier tipo de uso.
fuente
También puede probar ApexSQL Search : complemento SSMS gratuito de ApexSQL.
fuente
Tomé la respuesta de Kashif y los uní a todos. Curiosamente, a veces, encontré resultados en una de las selecciones pero no en la otra. Entonces, para estar seguro, ejecuto los 3 cuando estoy buscando algo. Espero que esto ayude:
fuente
En caso de que también necesitaras un esquema:
fuente
fuente
[whatever]
se capturewhatever
(se vuelve más importante cuando busca identificadores calificados para el esquema).Intenté el ejemplo anterior pero no mostraba más de 4000 caracteres, luego lo modifiqué un poco y pude obtener la definición completa del procedimiento almacenado. Consulte el script actualizado a continuación:
fuente
Primero asegúrese de ejecutar la consulta con sus credenciales de usuario y también en el contexto de base de datos correcto.
De lo contrario, sys.procedures no devolverá nada. Ahora ejecute la consulta de la siguiente manera:
Otra opción es utilizar INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION, pero tenga en cuenta que solo contiene un número limitado de caracteres (es decir, los primeros 4000 caracteres) de la rutina.
Probé en Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)
fuente
fuente
Aquí está la versión de unión que usa Losbear, pero modificada para que también muestre el nombre del esquema:
fuente
Cómo encontrar un procedimiento almacenado que contenga texto o cadena
Muchas veces necesitamos encontrar el texto o la cadena en el procedimiento almacenado. Aquí está la consulta para encontrar el texto que contiene.
Para obtener más información, consulte la URL que se proporciona a continuación.
http://www.freshcodehub.com/Article/34/how-to-find-a-stored-procedure-containing-text-or-string
fuente
Para cualquier servidor SQL más nuevo que SQL Server 2000:
Si alguien está atascado con SQL Server 2000, la tabla sql_modules no existe, por lo que usaría syscomments, obtendrá múltiples registros para procedimientos almacenados de más de 4000 caracteres, pero tendrán el mismo campo c.number para que pueda agrupar las partes juntas para obtener el texto completo del procedimiento almacenado:
fuente
fuente
fuente
Esta consulta devuelve el nombre y el contenido de cualquier procedimiento almacenado donde se hace referencia a "XXXX" dentro del procedimiento almacenado.
Esto es bastante útil cuando se encuentran procedimientos que hacen referencia a una tabla / vista / procedimiento específico
fuente
Esto es lo que he escrito en SQL 2012 para seleccionar todos los procedimientos almacenados donde el nombre como "Especialización de la empresa"
fuente
Procedimiento almacenado para buscar texto en SP .. {Dinesh Baskaran} Trendy Global Systems pvt ltd
fuente
Prueba esto .....
fuente
Esto buscará en todos los procedimientos almacenados de todas las bases de datos. Esto también funcionará para procedimientos largos.
fuente
Yo uso este script. Si cambia sus comentarios XML para que se muestren como texto negro sobre un fondo amarillo, obtendrá el efecto de resaltar el texto que está buscando en la columna xml de los resultados. (Herramientas -> Opciones -> Entorno -> Fuentes y colores [Elementos de visualización: Comentario XML]
fuente