IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

comment se connecter a un autre serveur sql server depuis sql server


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Points : 110
    Points
    110
    Par défaut comment se connecter a un autre serveur sql server depuis sql server
    bonjour,

    je travail avec sql server 2005 , et je développe une procédure stockée dans la quelle je souhaiterai , faire une insertion vers une table d'une base existant sur le meme serveur, et apres je souhaiterai effectuer la meme operation vers une autre base de données situé dans un autre serveur sql serveur !!!

    est ce que c'est possible de se connecter au 2eme serveur a partir du premier , par code avec ma procédure stockée ???


    et merci pour vos réponse

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 894
    Points : 53 123
    Points
    53 123
    Billets dans le blog
    6
    Par défaut
    il faut commencer par créer un serveur lié à l'aide des procédures :
    sp_addlinkedserver
    et
    sp_addlinkedsrvlogin

    Après, faites vos requêtes avec NomServeur.NomBase.Schema.Table.

    A +

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    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
    -- creer le lien vers une autre base de données -pour execution ProcStock
    EXEC sp_addlinkedserver @server='aliasServerDistant',
    	@srvproduct='',
    	@provider='sqloledb',
    	@datasrc='nom.du.serveur.toto.net' --the data source
     
    -- ajouter l'option RPC (cf propriétés du Serveur lié créé (objet serveur|Serveurs liés))
    EXEC master.dbo.sp_serveroption @server=N'aliasServerDistant', @optname=N'rpc out', @optvalue=N'true'
    GO
     
    --To verify if the command is executed correctly, run query 
    --select * from sys.servers where name='aliasServerDistant';
     
     
    -- définition du user/login pour se connecter
    EXEC sp_addlinkedsrvlogin @rmtsrvname=N'aliasServerDistant',@useself=N'False',@locallogin=NULL,@rmtuser=N'login',@rmtpassword='pass'
    go
    -- pour vérifier la connexion :
    --select * from aliasServerDistant.master.dbo.sysdatabases
     
     
    exec aliasServerDistant.nomBase.nomProcStock

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Points : 110
    Points
    110
    Par défaut
    Merci pour vos reponses !

    J'ai trouvé un autre moyen de le faire ,mais je ne sais pas c'est quoi la difference entre ma méthode et celle postée par Cyrille !!?

    voila comment j'ai procédé :

    SELECT *
    FROM OPENDATASOURCE('SQLNCLI','Data Source= (IP);User ID= (Login);Password= (Mot de pass)').BaseTest.dbo.matable

    avec :
    IP: l'adresse IP du serveur distant.
    Login : c le logine de connexion au serveur distant.
    Mot de pass : mot de pass pou acceder au serveur distant.
    BaseTest : c'est la base concernée sur le serveur distant.
    matable : la table concernée.

    Bien évidement, avant de faire tous ca ,il faut aller sur le serveur distant et activer : Enable OPENROWSET and OPENDATASOURCE support.

    On the Start menu, point to All Programs, Microsoft SQL Server 2005, Configuration Tools, and then click SQL Server Surface Area Configuration.
    Après, il faut cliquer sur le deuxième outil: Surface Area Configuration for Features.
    Ensuite, il faut coucher la case : Enable OPENROWSET and OPENDATASOURCE support.
    Apply== OK.

    je testé cette demarche et ca marche trés bien , et vous pouvez meme executer le procedures stockées qui se trouvent sur le serveur distant.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 894
    Points : 53 123
    Points
    53 123
    Billets dans le blog
    6
    Par défaut
    Oui, mais : peu performante et trou de sécurité !

    A +

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 35
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    J'ai affaire à un lot SSIS (ainsi qu'une proc stock autonome) lancé depuis un serveur A.
    Il récupère des données d'échanges dans un serveur B, pour les injecter dans une base du serveur A.

    Qu'est-il possible de faire concrètement, à part du serveur lié ou du OpenDataSource ?
    Quelle est la méthode la plus rapide ?
    Quelle est la méthode la moins insécurisée ?

    Merci de vos conseils.

Discussions similaires

  1. SQL Server 2008 link server avec SQL Server 2005
    Par Herlece dans le forum Développement
    Réponses: 2
    Dernier message: 25/04/2012, 11h19
  2. [C# 2.0] Comment se connecter au serveur SQL Server Express ?
    Par wodel dans le forum Accès aux données
    Réponses: 7
    Dernier message: 16/04/2010, 23h38
  3. connexion sql server depuis sql developer
    Par apersonnat dans le forum Sql Developer
    Réponses: 0
    Dernier message: 22/02/2008, 16h15
  4. Réponses: 4
    Dernier message: 13/06/2006, 16h19
  5. [VB6]Comment se connecter à une BD sur serveur distant?
    Par Chess0 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/10/2005, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo