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

Administration SQL Server Discussion :

Problème Login Linked Server


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Par défaut Problème Login Linked Server
    Bonjour,

    Je voudrais faire communiquer deux serveurs SQL.

    J'utilise la console SQL2008.

    Les deux serveurs que je tente de faire communiquer, un à la version 8 (SQL-ROU2) et l'autre, 10 (sqlcluster1\inst01) .

    À partir du serveur sqlcluster1\inst01, j'ai exécuté cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_addlinkedserver [sql-rou2]
    avec succès (pas de mssage d'erreur).

    Mais lorsque j'essaie de lire sur le serveur, j'ai un erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from [sql-rou2].lassonde.dbo.iim
    Msg 18456, Level 14, State 1, Line 0
    Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
    Je me demande ce que je peux faire pour avoir un login qui fonctionne? Ou dois-je aller pour cela ?

    Merci !

  2. #2
    Invité
    Invité(e)
    Par défaut
    J'ai l'impression que tu n'as pas précisé le user d'accès de la bd distante.

    Moi j'utilise cette procédure suivante :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    /****** Object:  StoredProcedure [dbo].[db_create_linked_server]    Script Date: 01/28/2010 15:02:54 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Description:	Créé un linked server à partir du nom suivant un modèle standard
    -- =============================================
    CREATE PROCEDURE [dbo].[db_create_linked_server]
    	@Name_server varchar(150)
    AS
    BEGIN
    	SET NOCOUNT ON;
     
    	/****** Object:  LinkedServer [SQL2005-DEV]    Script Date: 12/29/2009 09:45:58 ******/
    	EXEC master.dbo.sp_addlinkedserver @server = @Name_server, @srvproduct=N'SQL Server'
    	EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=@Name_server,@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'collation compatible', @optvalue=N'false'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'data access', @optvalue=N'true'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'dist', @optvalue=N'false'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'pub', @optvalue=N'false'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'rpc', @optvalue=N'false'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'rpc out', @optvalue=N'false'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'sub', @optvalue=N'false'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'connect timeout', @optvalue=N'0'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'collation name', @optvalue=null
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'lazy schema validation', @optvalue=N'false'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'query timeout', @optvalue=N'0'
    	EXEC master.dbo.sp_serveroption @server=@Name_server, @optname=N'use remote collation', @optvalue=N'true'
     
    END
    Avec ce truc, le user qui se connecte doit avoir les droits sur la bd distante.

  3. #3
    Membre éclairé Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Par défaut
    Si je comprend bien, de ton côté tu mets les accès à null. Ça sert à quoi de faire ca, si les valeurs sont nulles ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Baquardie Voir le message
    Si je comprend bien, de ton côté tu mets les accès à null. Ça sert à quoi de faire ca, si les valeurs sont nulles ?
    C'est une sp que j'ai bidouillé vite fait à partir du script de création d'un linked server pour faire ça sur ma douzaine de serveurs, il y a surement des choses peu ou pas utile.
    Mais le fait de ne pas préciser ses informations, fait en sorte que c'est le user courant qui est utilisé.

  5. #5
    Membre éclairé Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Par défaut
    Ok ça fait bien du sens.

    Je viens d'exécuter cette ligne alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=[sql-rou2],@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
    Aucune erreur lors de l'exécution.

    Mais lorsque je tente de faire mon select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from [sql-rou2].lassonde.dbo.iim
    J'obtiens toujours la même erreur...

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

  6. #6
    Invité
    Invité(e)
    Par défaut
    Qu'est que tu as comme user associé dans ton lien par le wizard de SSMS ?

  7. #7
    Membre éclairé Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Par défaut
    Bon, je suis aller brailler mon problème à un collègue et nous avons trouvé...

    Dans le Management Studio, au menu Server Objects / Linked Server. Dans les propriété du serveur Linké (dans mon cas, [SQL-ROU2]), la page de sécurité, nous avons sélectionné l'option de login "Be made using this security context" et avons entré les information de login/password (je ne me souvenais plus du mot de passe, 13 mois sans travailler, ça fait un gros trou dans la mémoire).

    De retour dans le query analyser, la requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from [sql-rou2].lassonde.dbo.iim
    Ne fonctionne pas plus, elle renvoie un erreur un peu bâtard...

    OLE DB provider "SQLNCLI10" for linked server "sql-rou2" returned message "Unspecified error".
    OLE DB provider "SQLNCLI10" for linked server "sql-rou2" returned message "The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator.".
    Msg 7311, Level 16, State 2, Line 1
    Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "sql-rou2". The provider supports the interface, but returns a failure code when it is used.
    Ceci est du au fait que le serveur [SQL-ROU2] est monté en SQL 8 alors que le serveur [sqlcluster\inst01] est monté en SQL 10.

    Bref, le moyen de faire fonctionner le tout est d'utiliser la fonction openquery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from openquery ([sql-rou2], 'select * from lassonde.dbo.iim')
    Merci beaucoup Jerome_Mtl pour ton support, je vais conserver ton script de linkedserver il est bien fait. Bon déblayage de voiture ce soir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Linked Server avec login
    Par Baquardie dans le forum Administration
    Réponses: 11
    Dernier message: 31/08/2012, 07h30
  2. [Access2000] Problème de Login SQL Server
    Par Chtulus dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/05/2008, 14h32
  3. C/asm : problème pour link
    Par SteelBox dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 06/04/2004, 23h03
  4. Problème de LINK Bizarre !!
    Par Jasmine dans le forum MFC
    Réponses: 24
    Dernier message: 19/03/2004, 15h58
  5. Problème de link avec Borland C++ 5.5
    Par gelam dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/11/2003, 16h45

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