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 21/06/2011, 15h27   #1
Membre du Club
 
Homme
Admin BDD & Admin ERP
Inscription : juillet 2006
Messages : 138
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Admin BDD & Admin ERP
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 138
Points : 62
Points : 62
Par défaut Exécuter req sur autre serveur

y a t il un autre moyen que SSIS pour exécuter une requête sur un autre serveur.

J'ai un travail sur un serveur A avec plusieurs étapes sur ce même serveur A.
Pour me faciliter la maintenance je voudrais excuter une simple requête d'update sur un serveur B dans ce travail qui s'exécute sur le serveur A

Je l'ai déjà fait avec des package SSIS mais vu que c'est un simple update avec une clause where (mise à jour d'un flag) je me demandais s'il n'y avait pas un autre moyen

merci
castorameur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 04h39   #2
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
Bonjour,

Citation:
y a t il un autre moyen que SSIS pour exécuter une requête sur un autre serveur.
Oui, vous pouvez faire cela à l'aide de serveurs liés.
Vous pouvez le faire à l'aide de la procédure stockée sp_addlinledserver, ou bien à partir de l'explorateur d'objets (F7) de SQL Server Management Studio.

Une fois cela fait, votre requête s'écrit alors :

Code :
1
2
3
UPDATE	serveurB.baseDeDonnees.dbo.uneTable
SET	colonne = valeur
WHERE	....
Ou encore :

Code :
1
2
3
4
5
6
UPDATE		serveurB.baseDeDonnees.dbo.uneTable
SET		colonne = valeur
FROM		serveurB.baseDeDonneesDeB.dbo.uneTableB AS B
INNER JOIN	serveurA.baseDeDonneesDeA.dbo.uneTableA AS A
			ON B.uneCle = A.uneCle
WHERE		....
valeur peut être une expression basée sur des valeurs des colonnes d'une table de uneTableB (comme sur celles de uneTableA, ou une constante, ...)

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/06/2011, 14h45   #3
Membre du Club
 
Homme
Admin BDD & Admin ERP
Inscription : juillet 2006
Messages : 138
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Admin BDD & Admin ERP
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 138
Points : 62
Points : 62
Merci je vais essayer
castorameur 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 22h53.


 
 
 
 
Partenaires

Hébergement Web