bonjour a tous
y a t'il quelqu'un qui peut me suggérer un moyen efficace pour appliquer presque 23 scripts T-SQL sur environ 100 bases de données
un outil de déploiement svp ?
Merci pour vos conseil
bonjour a tous
y a t'il quelqu'un qui peut me suggérer un moyen efficace pour appliquer presque 23 scripts T-SQL sur environ 100 bases de données
un outil de déploiement svp ?
Merci pour vos conseil
Si toutes vos bases de données sont sur la même machine? C'est SQLCMD
Si non Powershell C'est un bon moyen
aussi il exist le CMS (Central Management Server)
https://docs.microsoft.com/en-us/sql...d-server-group
Voir aussi la procédure sp_MSforeachdb
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/ * * * * *
Et faire tourner le script avec l'option SQLcmd mode et mettre ceci?
Tout dépend si sur une instance tu dois exclure certaines DB ou pas, dans le cas sp_foreachdb ça ne le fait pas si je ne me trompe pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ::CONNECT monserver1/instance1 USE mydb1 xxx xxx USE MyDB2 xxx xxx ::CONNECT monserver2/instance2 USE mydb1 xxx xxx USE MyDB2 xxx xxx
Ce que nous avons fait pour nous-même meurt avec nous, ce que nous avons fait pour les autres et le monde est immortel. Albert Pike
http://www.datacrossroad.be
Bonjour janlouk,
Si tu parles de la procédure non documentée de Microsoft sp_MSforeachdb , elle ne le fait pas. Elle ne permet pas d'exclure certaines bases de données.
En revanche, il existe une autre procédure beaucoup plus complète, et beaucoup plus pratique, dbo.sp_foreachdb publiée sur GitHub par Brent Ozar
https://github.com/BrentOzarULTD/SQL..._foreachdb.sql
Celle-ci permet d'exclure des bases au travers le paramètre @exclude_list NVARCHAR (MAX)
Exemple d'utilisation
Ci-dessous la signature de la procédure, beaucoup plus complète et plus pratique, dbo.sp_foreachdb
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 exec dbo.sp_foreachdb @command = N'Use ? ; PRINT db_name()' , @exclude_list = N'master, model, msdb, tempdb'
Code SQL : 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 PROCEDURE dbo.sp_foreachdb @command NVARCHAR (MAX), @replace_character NCHAR (1) = N '?' , @print_dbname BIT = 0, @print_command_only BIT = 0, @suppress_quotename BIT = 0, @system_only BIT = NULL, @user_only BIT = NULL, @name_pattern NVARCHAR (300) = N '%', @database_list NVARCHAR (MAX) = NULL, @exclude_list NVARCHAR (MAX) = NULL, @recovery_model_desc NVARCHAR (120) = NULL, @compatibility_level TINYINT = NULL, @state_desc NVARCHAR (120) = N'ONLINE ', @is_read_only BIT = 0, @is_auto_close_on BIT = NULL, @is_auto_shrink_on BIT = NULL, @is_broker_enabled BIT = NULL
A+
"Une idée mal écrite est une idée fausse !"
http://hamid-mira.blogspot.com
merci abdallah_mehdoini
Powershell, je le trouve vraiment génial
Ce que nous avons fait pour nous-même meurt avec nous, ce que nous avons fait pour les autres et le monde est immortel. Albert Pike
http://www.datacrossroad.be
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager