SP_MSforeachdb taille de variable
	
	
		Bonjour tous,
J'ai besoin de vos lumières :)
Je suis en train de créer une requête qui fait des contrôles de nommage de table sur chaque base de données. Ex:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | IF DB_NAME() LIKE 'Source%'
BEGIN
SELECT
	CASE
		WHEN TABLE_NAME LIKE 'zzz%' THEN 'A supprimer'
		WHEN TABLE_NAME LIKE 'TD_%' THEN 'Table de dimension'
		WHEN TABLE_NAME LIKE 'TF_%' THEN 'Table de faits'
		WHEN TABLE_NAME LIKE 'CDE_%' THEN 'Tables denrichissement ' ELSE 'Pas de règles de nommage pour les bases Source_%'
	END AS TABLE_TYPE,
	DB_NAME() AS DATABASE_NAME,
	TABLE_NAME,
	CASE
		WHEN TABLE_NAME LIKE 'zzz%' THEN 1 ELSE 0
	END AS CONTROL_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
END
IF DB_NAME() LIKE 'Prochain type de base....'
BEGIN
Requête
END
etc. etc. | 
 Ma requête marche nickel quand je la lance avec un USE XXX GO dans SSMS. 
Cependant je veux industrialiser ce truc en utilisant la procédure stockée master.sys.SP_MSforeachDB  et passer ma requête en tant que variable pour le SQL dynamique.
Seul souci : le type de données de variable pour la procédure stockée et limité (NVARCHAR(4000)) je pense. Et ma requête fait plus de 5000  :furieux:
J'ai tenté de recréer la PS avec des variables NVARCHAR(MAX) mais ça marche pas puisqu'il appelle d'autres PS de façon imbriquée....
Any ideas?!