J'ai une instance de SQL Server 2008 R2 Express Edition à la maison et une autre sur un serveur chez un client que j'utilise pour développer une application utilisant Access comme frontal. Cette application dispose de 5 connexions distinctes que je peux utiliser dans la chaîne de connexion (en fonction du groupe d'accès dans lequel se trouve l'utilisateur). L'instance d'origine possède plusieurs bases de données - dont certaines n'ont rien à voir avec ces applications
J'ai créé manuellement les connexions dans chaque instance au fil du temps (et probablement dans un ordre différent).
J'espère pouvoir (plus d'une fois) prendre une sauvegarde de ma machine à domicile de la base de données sur laquelle je travaille et la charger sur l'instance chez le client à l'aide de la restauration, en déplaçant simplement les fichiers du jeu de sauvegarde vers le réel les fichiers utilisés sur ce serveur pendant le processus de restauration. Le morceau que je ne comprends pas est le mappage entre l'utilisateur de la base de données et la connexion.
J'avais pensé que la correspondance du nom devrait être suffisante, mais en essayant de résoudre un problème sur lequel les utilisateurs de la base de données restaurée ne semblaient pas être mappés à la connexion au serveur, je suis tombé sur l'instruction Transact-SQL ALTER USER et en particulier sa référence à l'utilisation de WITH LOGIN et une discussion sur un "SID".
Étant donné que (je présume) que les noms de connexion au serveur ont des SID différents dans chaque instance, cela signifie-t-il qu'après avoir chargé une sauvegarde entre les instances, je dois reconnecter le mappage avec une série de commandes ALTER USER WITH LOGIN?