Backup/Restore av SQL-databas
Jag har nog svarat femtielva gånger på varför användarna inte följer med när man flyttar en SQL-databas från en server till en annan
Så här är det.
- Användarna finns i databasen MSDB
- Rättigheterna finns i den “vanliga” databasen
Så för att göra det enkelt… om du ska flytta en liten databas med ett fåtal användare, exempelvis ett datastore för en citrix-farm, gör så här:
På gamla servern:
- Ta backup av databasen
På nya server:
- Skapa upp en användare med samma namn som på gamla servern
- Kör restore av databasen
- Kicka igång Query Analyzern
- Se till att du är ansluten mot rätt databas (Finns en drop-down i mitten av toolbaren) eller så använder du use-kommandot
- Kör:
sp_change_users_login @Action = ‘Auto_Fix’, @UserNamePattern = ‘minfinauser’
Ja, det är bra att ändra minfinauser mot rätt namn
Nu ska den ha länkat ihop din nya användare med rätt rättigheter i din gamla databas.





2006-12-15 08:05
Om man har möjlighet så kan man ju så klart se till att inga användare är anslutna till servern och köra en restore på MSDB om man har den backupad.
2006-12-29 16:39
Halvjobbigt om man har andra databaser som ligger på den nya servern… eller kanske inte databaser men om man har användare, jobb eller något av allt annat pyssel som lagras i msdb.
Men visst. Om det är en nyinstallerad server så.