Ich habe eine Instanz von SQL Server 2008 R2 Express Edition zu Hause und eine andere auf einem Server in einem Client-Gebäude, mit dem ich eine Anwendung mit Access als Front-End entwickle. Diese Anwendung verfügt über 5 separate Anmeldungen, die ich in der Verbindungszeichenfolge verwenden kann (basierend auf der Zugriffsgruppe, in der sich der Benutzer befindet). Die Heiminstanz verfügt über mehrere Datenbanken, von denen einige nichts mit diesen Anwendungen zu tun haben
Ich habe die Anmeldungen in jeder Instanz im Laufe der Zeit manuell erstellt (und wahrscheinlich in einer anderen Reihenfolge).
Ich hoffe, dass ich (mehr als einmal) ein Backup von meinem Heimcomputer der Datenbank, an der ich arbeite, erstellen und es mithilfe der Wiederherstellung auf die Instanz beim Client laden kann, indem ich nur die Dateien im Backup-Set auf den tatsächlichen Wert verschiebe Dateien, die während des Wiederherstellungsprozesses auf diesem Server verwendet werden. Das Stück, das ich nicht verstehe, ist die Zuordnung zwischen dem Datenbankbenutzer und dem Login.
Ich hatte gedacht, dass die Korrespondenz des Namens ausreichen sollte, aber als ich versuchte, ein Problem zu beheben, bei dem Benutzer der wiederhergestellten Datenbank nicht der Serveranmeldung zugeordnet zu sein schienen, stieß ich auf die Anweisung Transact-SQL ALTER USER und insbesondere sein Verweis auf die Verwendung von WITH LOGIN und einige Diskussionen über eine "SID".
Da (ich nehme an) die Server-Anmeldenamen in jeder Instanz unterschiedliche SIDs haben, bedeutet dies, dass ich nach dem Laden einer Sicherung zwischen Instanzen die Zuordnung mit einer Reihe von ALTER USER WITH LOGIN-Befehlen erneut verbinden muss?
quelle