Restauration d'une sauvegarde sur un server différent – Autorisations user

J'ai sauvegardé et restauré une database MS SQL Server 2005 vers un nouveau server.

Quelle est la meilleure façon de recréer la connection, les users et les permissions de l'user?

Sur Enterprise Manager de SQL Server 2000, j'ai pu scripter les connections, écrire un script sur les users et programmer les permissions user séparément. Je pourrais alors courir l'un après l'autre et la seule étape manuelle restante était de définir le mot de passe de connection (qui ne script pas pour des raisons de security)

Cela ne semble pas possible dans Management Studio de SQL Server 2005, ce qui rend tout très fastidieux et fastidieux. (Je finis par devoir scripter toute la database, supprimer toutes les connections et les users de la nouvelle database, exécuter le script, puis parcourir un mélange de message d'erreur pour voir ce qui a fonctionné et ce qui n'a pas fonctionné.)

Quelqu'un a-t-il de l'expérience et des recommandations à ce sujet?

    La méthode la plus simple consiste à sp_help_revlogin de Microsoft, une procédure stockée qui écrit tous les sp_help_revlogin connection, valeurs par défaut et passwords SQL Server et conserve les mêmes SID.

    Vous pouvez le find dans cet article de base de connaissances:

    http://support.microsoft.com/kb/918992

    Lance ça:

     EXEC sp_change_users_login 'Report' 

    Cela affichera une list de tous les users orphelins, par exemple:

    entrez la description de l'image ici

    Maintenant, exécutez ce script ici pour chaque user, par exemple

     exec sp_change_users_login 'Update_One', 'UserNameExample', 'UserNameExample' 

    Cela a réglé mon problème.

    J'utilise le produit SQL Compare de Red Gate ( http://www.red-gate.com/products/SQL_Compare/index.htm ). Il y a d'autres produits similaires mais je n'ai eu aucune raison d'en chercher un car SQL Compare ne m'a jamais laissé tomber.

    Vous constaterez qu'il est utile pour beaucoup plus que votre besoin actuel car il aidera à synchroniser tous les types d'objects de database, pas seulement la connection et les permissions.