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

MS SQL Server Discussion :

Probleme avec un linked server


Sujet :

MS SQL Server

  1. #1
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut Probleme avec un linked server
    Bonjour,

    J'ai essayé de configuré un linked server entre 2 instance de SQL Server 2000.

    Lorsque je veux tourner une query sous query analyzer, j'obtient l'erreur suivante :

    Server: Msg 18456, Level 14, State 1, Line 1
    Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

    Le problème est clairement expliqué à cette adresse :
    http://support.microsoft.com/kb/238477

    Sur mes 2 serveurs, la configuration réseau utilise (ou du moins ils sont enabled) les Named pipes ainsi que TCP/IP.

    Ne pouvant pas désactiver TCP/IP, y a t'il y moyen de "forcer" query analyzer à utiliser les named pipes comme protocol de communication ?
    Ou une autre solution est la bienvenue aussi

    Merci d'avance pour toutes vos suggestions,
    Dje

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    comme autre solution, sur le serveur A où est lancée la requête (celui sur lequel est déclaré le serveur lié B), précise dans la partie Sécurité/Serveur Lié/Propriétés/Sécurité (dernier bouton) le login/pass d'un utilisateur créé sur le serveur distant B.
    Emmanuel T.

  3. #3
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Salut kagemaru,

    Merci pour ta proposition, j'y avais pensé mais le problème avec cela est que je "perd" le login réel utilisé. Je m'explique, ce sont 2 serveurs de développement distinct qui sont utilisés par différents utilisateurs. Au point de vue sécurité, je préférerai grandement que les utilisateurs ne puisse executer des queries que sur les bases de données pour lesquelles ils ont accès.
    Définir un utilisateur pour le link (LU -> linked user) serveur "perdrait" ces différents accès au profit/dépend des droits de LU.
    Il faudrait donc définir plusieurs LU selon le profil de l'utilisateur tournant les queries, ce que je n'ai pas non plus envie de faire.

    N'y aurait il pas une autre solution ?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    dans ce cas là,
    est-ce que tu peux créér les mêmes logins sur chaque sql serveur (même nom de user, même pass) et prendre l'option pour garder le contexte de sécu ?
    dans ce cas tu pourras savoir quel login est utilisé.

    Dans tous les cas, tu es obligé de gérer les droits sur les 2 sql serveurs.

    Précise un peu ton besoin pour avoir peut-être une réponse plus détaillée...
    Emmanuel T.

  5. #5
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Le linked serveur était configuré tel que tu viens de le décrire, ce qui pose le même problème(cf premier post) lorsque tu lances une query d'un poste C (poste de l'utilisateur) via query analyzer.

    Les utilisateurs sont définis sur les différents serveurs utilisant leur login NT (trusted connection). Ils sont membres d'un domaine et déja défini sur les serveurs selon leurs besoins, la n'est pas le problème.

    J'ai aussi deja tester de spécifier pour un utilisateur particulier défini dans le linked serveur d'utiliser une connection "impersonnate" (désolé pour ces termes mais je travaille sur une version anglaise) pour se connecter au serveur lié.
    Cela ne solutionne pas non plus le problème.

    La première solution que tu as proposée doit fonctionner, mais pour les raisons citées ci-dessus je n'ai pas trop envie de l'implementer.
    Je voudrais vraiment trouver un workaround pour résoudre ce problème de "double hop" décris dans l'article de la kb microsoft, ce qui pourrait être résolu en "forcant" query analyzer à executer les requètes en utilisant le protocole des Named pipes... Mais est ce possible ?

    Je crains malheureusement que la première solution que tu as proposée soit la seule, mais bon, je ne trouve pas ca top pour les raisons que je cite.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    oublie les named pipes, ça ne te fournirait qu'un contournement... tu peux créer un alias serveur qui s'appuierait sur les pipes nommés pour voir (mais je ne connais pas la syntaxe du canal) cf Client Network Utility

    Les utilisateurs sont définis sur les différents serveurs utilisant leur login NT (trusted connection). Ils sont membres d'un domaine et déja défini sur les serveurs selon leurs besoins, la n'est pas le problème.
    Tu confirmes bien qu'ils sont bien également déclarés sur le SQL Server B, qu'ils apparaissent dans la partie Sécurité d'EM comme login ?

    Ce qui me chagrine est que ce kb concerne SQL 7 mais bon on sait bien qu'on ne peut s'y fier à 100%...
    Emmanuel T.

  7. #7
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Tu confirmes bien qu'ils sont bien également déclarés sur le SQL Server B, qu'ils apparaissent dans la partie Sécurité d'EM comme login ?
    Oui oui, j'en suis certain.
    En l'occurance l'utilisateur voulait transferer une table d'un serveur à l'autre... Il a bien accès aux 2 serveurs via son login NT et donc pouvait normalement effectuer cela en utilisant une query dans QA.

    Je regarderai pour l'alias, ce n'est pas non plus une priorité.

    Merci de ton aide.

Discussions similaires

  1. Probleme avec MS SQL Server 2008 (Express)
    Par mr 3a dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 07/10/2010, 00h46
  2. probleme avec html:link
    Par verdi-verda dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/12/2008, 14h38
  3. probleme avec le linking
    Par adel.87 dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 11/01/2008, 15h49
  4. Timeout avec un linked server
    Par Wisefool dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/09/2005, 15h35

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