Un GREP pour les bases de données MS SQL Server



Comment rechercher dans toutes les tables et toutes les colonnes une valeur précise ? C’est ce que propose cette procédure…

La procédure dbo.P_GREP ci dessous permet de rechercher dans toutes les colonnes de toutes les tables de la base un littéral quelconque (variable @DATA passée en argument). Elle retourne autant de lignes indiquant la table et la colonne dans laquelle figure cette information.

Comme cette recherche peut être longue, la procédure peut être jouée en parallèle en utilisant les deux paramètres :

  • @PARALLELIZE
  • @DIVIDE

@PARALLELIZE : indique le nombre de fois ou vous aller jouer la procédure en parallèle

@DIVIDE : indique le filtrage (compris entre 0 et @PARALLELIZE -1) pour chacune des procédures jouées en parallèle.

Par exemple :

SSMS Grep en parallèle

Le résultat s’affiche dans des tables de cette façon :

Résultats

Dans le cas ou le parallélisme n’aurait pas été exécuté, alors la colonne GRP_PARTIAL serait NULL.

Le code de la procédure sous forme de cliché :

Le code de la procédure en texte : CREATE_PROCEDURE_P_GREP


Fred Brouard/SQLpro, expert bases de données relationnelles SQLpro@SQLspot.com
* Le site sur les SGBD relationnels et le SQL : https://sqlpro.developpez.com *
* le blog SQL, SQL Server, SGBDR... sur : https://blog.developpez.com/sqlpro/ *
* Expert Microsoft SQL Server MVP (Most valuable Professional) pendant 14 ans *
* Entreprise SQL SPOT : modélisation, conseil, audit, optimisation, formation *
* * * * * Enseignant CNAM PACA -  ISEN Toulon  - CESI Aix en Provence * * * * *
***             Et pour un séjour à Toulon, pensez au 16e ciel !            ***

 

 

Ce contenu a été publié dans scripts SQL, SQL Server, avec comme mot(s)-clé(s) , , , , , , . Vous pouvez le mettre en favoris avec ce permalien.