Bonjour,
Je souhaiterais connaitre la syntaxe d'une requête pour extraire les procédures stockées et les fonctions dans des fichiers qui portent le nom des procédures stockées et des fonctions auxquels elles font références
Cordialement
battl14
Bonjour,
Je souhaiterais connaitre la syntaxe d'une requête pour extraire les procédures stockées et les fonctions dans des fichiers qui portent le nom des procédures stockées et des fonctions auxquels elles font références
Cordialement
battl14
Bonjour,
Essayez ceci :
@++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 -->>>> A EXECUTER SUR LA BD DEPUIS LAQUELLE ON SOUHAITE REALISER L'EXPORT SET NOCOUNT ON DECLARE CUR_PROC CURSOR FOR SELECT name FROM maBD.sys.objects WHERE type IN ('P', 'FN', 'IF', 'TF') -- Procédure, fonction scalaire, fonction table incluse, fonction table FOR READ ONLY DECLARE @szNomProc SYSNAME OPEN CUR_PROC FETCH NEXT FROM CUR_PROC INTO @szNomProc WHILE @@FETCH_STATUS = 0 BEGIN SELECT definition INTO ##PROC_TEXT FROM maBD.sys.sql_modules WHERE OBJECT_NAME(object_id) = @szNomProc DECLARE @szBCP VARCHAR(512) SET @szBCP = 'bcp "SELECT * FROM ##PROC_TEXT" queryout C:\' + @szNomProc + '.sql -T -c' EXEC xp_cmdshell @szBCP, NO_OUTPUT DROP TABLE ##PROC_TEXT FETCH NEXT FROM CUR_PROC INTO @szNomProc END DEALLOCATE CUR_PROC![]()
Et pourquoi pas un BCP sur la colonne ROUTINE_DEFINITION de la vue INFORMATION_SCHEMA.ROUTINES ?
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
J'aurais été déçu que tu ne poses pas la question
La seule raison justifiant le choix de sys.sql_modules est que c'est la seule vue exposant l'intégralité du code SQL des modules, et non pas les 4000 premiers caractères proposés par INFORMATION_SCHEMA.ROUTINES.
@++![]()
Il me semble (mais à vérifier ) que les N premiers caractères (4000 pour NVARCHAR) c'est lié à l'IHM SSMS. Pas la vue...
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Merci cela m'a bien servi !
Par contre pour les tables le fichier est vide ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT name FROM Sherman.sys.objects WHERE type IN ('U', 'TR')
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Partager