BAJBORDES
Messages postés6Date d'inscriptionvendredi 15 janvier 2010StatutMembreDernière intervention19 janvier 2010
-
15 janv. 2010 à 09:33
BAJBORDES
Messages postés6Date d'inscriptionvendredi 15 janvier 2010StatutMembreDernière intervention19 janvier 2010
-
19 janv. 2010 à 08:45
Bonjour,
J'ai besoin de lier mes 2 BD SQL afin d'avoir une vue d'une des tables de ma première BD dans ma deuxième BD.
Pour cela j'ai créé une connexion de l'une vers l'autre.
Je teste la Connexion par les fonctions suivantes:
SELECT COUNT(*) FROM MASTER.DBO.SYSSERVERS WHERE SRVNAME = 'xxx.xx.xx.xxx'
exec sp_addlinkedserver @server = 'xxx.xx.xx.xxx'
Mais j'ai toujours le même message d'erreur:
"Connection Test Failled.
L'utilisateur n'est pas autorisé à effectuer cette action"
Les 2 BD sont sur le même serveur, cela ne devrait pas être compliqué
J'ai qd même activé le DTC et le DataAccess
Mon utilisateur utilise la même connexion pour les 2 bases
Il a les droits db_datawriter, db_datereader, db_owner,
le rôle du serveur 'setup admin' et à l'autorisation
ALTER ANY LINKED SERVER effective
Je ne vois pas ce que je peux ajouter de plus ?
même qd je tente la connexion avec l'utilisateur sa, j'ai toujours le même message d'erreur:
"Connection Test Failled.
L'utilisateur n'est pas autorisé à effectuer cette action"
alors qu'il est sensé avoir tous les droits!
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 17 janv. 2010 à 23:40
Comme tu ne précises pas sur quel SGBD tu travailles (p'tain, on doit tout deviner ici), sous MySQL je ferais un SHOS GRANTS FOR NomDuUser sur la base à laquelle tu veux accéder, histoire de vérifier les droits.
"[i]L'utilisateur n'est pas autorisé à effectuer cette action"
alors qu'il est sensé avoir tous les droits!/i"
T'as raison, change de SGBD, celui-là ne comprend décidément rien à rien
May Delphi be with you
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
BAJBORDES
Messages postés6Date d'inscriptionvendredi 15 janvier 2010StatutMembreDernière intervention19 janvier 2010 18 janv. 2010 à 09:18
Pardon pour mon manque de précision
Mes 2 BD sont sous SQL Server 2005
La fonction SHOW GRANTS FOR NomDuUsser ne fonctionne donc pas.
Existe t il une fonction équivalente sous SQL Server ?
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 18 janv. 2010 à 11:36
Sous tout réserves car je ne pratique pas SQL Server 2005, ce code serait l'équivalent :
SELECT objectname = Object_name(major_id),
*
FROM sys.database_permissions d
JOIN sys.database_principals ee
ON d.grantee_principal_id = ee.principal_id
JOIN sys.database_principals oo
ON d.grantor_principal_id = oo.principal_id
May Delphi be with you
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
BAJBORDES
Messages postés6Date d'inscriptionvendredi 15 janvier 2010StatutMembreDernière intervention19 janvier 2010 18 janv. 2010 à 12:12
L'excecution de la requête me donne 121 lignes
1 pour la connexion bdo (type_descr = Windows_SQL)
1 pour la connexion que j'ai créée (type_descr = User_SQL)
et 119 pour les rôles de la BD (type_descr = DataBase_Role)
mais je ne vois pas trop comment utiliser le résultat pour résoudre mon pb!
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 18 janv. 2010 à 18:04
Si quelqu'un d'autre qui s'y connait en SQL Server pouvait rendre le relais ce serait bien car l'état de mes connaissances actuelles avec ce SGBD s'arrêtent ici.
A propos, tu n'as pas de DBA à porté de bras ?
Bonne chance à toi.
May Delphi be with you
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.