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 :

[SQL2005] [ISQL]: faire une requete sans prefixer par le schema


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [SQL2005] [ISQL]: faire une requete sans prefixer par le schema
    Bonjour à tous,

    J'ai un problème sur SQL server 2005. J'utilise une base de donnée que je souhaite dupliquer sur un autre serveur.
    sur cette premiere base, si je veux faire une requete sur "matable", il suffit que je tape "select * from matable"
    Si je duplique cette base sur un autre serveur (en faisant un backup/restore)
    le "select * from matable" ne fonctionne pas (objet matable inconnu)
    Il faut que je prefixe avec le nom du schema
    "select * from monschema.matable" fonctionne sans problème
    il faut aussi noter que dans les deux cas, le user que j'utilise pour faire la requete est le owner du schema "monschema" et j'ai aussi defini "monschema" comme schema par défaut pour mon user et aussi "mabase" comme base par défaut

    la seule solution que j'ai trouvé est de créer des synonymes sur cette nouvelle base
    CREATE SYNONYM [dbo].[matable] FOR [monschema].[matable]

    je voudrais plutot trouver le paramétrage à modifier plutot que de créer des synonymes

    En effet, cette base est utilisée par une application sur laquelle je n'ai pas la main et tout le code a été ecrit sans prefixer avec le nom de schéma
    La methode des synonymes marche pour la majorité des process mais certains process générent des "alter table" qui ne fonctionne pas à cause des synonymes.

    j'ai essayé de supprimer le user au niveau server et au niveau base et de les recréer à partir des scripts de ma base d'origine mais sans succes non plus.

    Est ce que quelqu'un aurait une idée?

    Merci

    Gounzy

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 58
    Points
    58
    Par défaut Re
    Bonjour,
    il est probable que les SID du user sur les deux serveurs ne soient pas identiques (sp_helplogins)
    Si cela est pas le cas je pense que sp_change_users_login peut résoudre le problème (ou sp_changedbowner)

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut ca marche!
    merci pour ton aide,
    apres le restore, j'ai refait le lien en utilisant
    EXEC sp_change_users_login 'Update_One', 'login', 'user';
    et il y avait toujours le meme problème alors que le résultat de sp_helplogins semblait identique à la base d'origine

    j'ai supprimé le login existant puis utilisé
    EXEC sp_change_users_login 'Auto_Fix', 'loggin', NULL, 'mot de passe';
    et tous les liens ont bien été recrées. Les requetes fonctionnent correctement.


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

Discussions similaires

  1. Faire une impression sans passer par un reportView
    Par jeandadaf dans le forum VB.NET
    Réponses: 9
    Dernier message: 25/08/2009, 16h21
  2. Réponses: 5
    Dernier message: 28/09/2007, 17h56
  3. comment executer une requete sans passer par le recordset ?
    Par php4life dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 13/12/2006, 20h57
  4. Réponses: 7
    Dernier message: 09/05/2006, 11h30
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

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