Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2008, 10h25   #1
Membre du Club
 
Inscription : novembre 2006
Messages : 140
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 140
Points : 54
Points : 54
Par défaut Lancement de scripts SQL

Bonjour à tous,

Peut-on lancer un script SQL à partir d'un autre ?

Merci.
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 10h27   #2
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 162
Points : 1 618
Points : 1 618
Oui, cela doit etre possible si l'utilisateur tournant le premier script a les droits d'executer d'autres scripts.
Je pense notamment à l'execute permission sur xp_cmdshell afin d'executer une commande osql pour demarrer le script suivant.
Ptit_Dje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 10h59   #3
Membre du Club
 
Inscription : novembre 2006
Messages : 140
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 140
Points : 54
Points : 54
Merci pour cette réponse rapide.

J'ai essayé mais je suis bloqué par le problème de la "surface d'exposition" :
"Le composant est désactivé dans le cadre de la configuration de sécurité du serveur."

Bien que je sois à l'origine de la base, je ne sais pas comment faire pour activer les bon paramètres...
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 11h05   #4
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 162
Points : 1 618
Points : 1 618
Ce sont des parametres à configurer au niveau serveur.
Etes vous system admin sur le serveur ?
Si oui, vous devez activer la commande xp_cmdshell, si non, voyez avec vos dba's s'il est possible ou pas d'activer cette commande.
Ptit_Dje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 11h10   #5
Membre du Club
 
Inscription : novembre 2006
Messages : 140
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 140
Points : 54
Points : 54
Oui, je suis admin mais je ne sais pas comment faire.
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 11h20   #6
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 162
Points : 1 618
Points : 1 618
Menu demarrer > ... > SQL Server 2005 > SQL Server Surface area configuration (ou sa traduction francaise)

Ensuite la tu changes le computer name et te connectes en remote sur ton serveur.

Ensuite, surface area configuration for features (ou sa traduction...) et la tu enable xp_cmdshell (et en meme temps tu découvriras d'autres settings).
Ptit_Dje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 12h46   #7
Membre du Club
 
Inscription : novembre 2006
Messages : 140
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 140
Points : 54
Points : 54
Merci encore.

La méthode marche bien pour lancer des commandes systèmes (ou un fichier batch) mais pas moyen de lancer une requêtes avec :

EXEC master..xp_cmdshell N'C:\MonDossier\MonScript.sql'

EXEC ne permet pas d'exécuter les commandes de MonScript.sql.
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 12h58   #8
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 162
Points : 1 618
Points : 1 618
xp_cmdshell permet d'executer un executable, pas un script sql.

Voici un exemple de commande OS permettant de tourner un script :
Code :
1
2
 
osql -E -i "C:\script\Trace_Select.sql"
Vérifiez la syntaxe de la ligne de commande de osql et adaptez votre ligne de commande tournée avec xp_cmdshell. Vous êtes sur la bonne voie.
Ptit_Dje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 13h26   #9
Membre du Club
 
Inscription : novembre 2006
Messages : 140
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 140
Points : 54
Points : 54
Hourra ! ça marche !

Il faut donc faire le
Code :
EXEC master..xp_cmdshell N'osql -E -i C:\MonDossier\MonScript.sql'
Merci encore.
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 13h32   #10
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 162
Points : 1 618
Points : 1 618
Pense au tag
Ptit_Dje est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h54.


 
 
 
 
Partenaires

Hébergement Web