web-dev-qa-db-fra.com

Reconnecter les utilisateurs / connexions DB après la restauration avec STANDBY

Ceci est lié à mon post précédent ..

problème de sauvegarde différentielle - pourquoi? Est-ce possible?

Fondamentalement, le problème que j'ai maintenant, c'est que dans mon processus de restauration (dans le cadre de l'ETL), il existe des tâches pour reconstituer les utilisateurs de DB à des connexions (car ils sont des utilisateurs d'authentification SQL dans le serveur A donc perdent le mappage lorsqu'il est restauré sur le serveur B). Depuis la restauration avec la veille ne permettra pas cela comme il sera en lecture seule dB .. Comment puis-je contourner cela ..?

2
iKnowNothing

Vos utilisateurs de DB sur serveur A seront déplacés dans la base de données sur le serveur B avec la sauvegarde. Ensuite, tout ce dont vous avez besoin est de recréer les connexions avec le même SID. Vous faites cela en utilisant WITH SID Option:

CREATE LOGIN My_login WITH SID = 0x14585E90117152449347750164BA00A7

le SID est évidemment votre utilisateur SID que vous pouvez trouver dans sys.database_principals:

select name, sid
from sys.database_principals
where type_desc = 'SQL_USER';
3
sepupic