Khi bạn có một Database SQL Server với vài chục account, muốn chuyển nó tới một server khác, vấn đề bạn gặp phải là rất nhiều account sql trước đó đã được gán các quyền nhất định trên từng object như table, store procedure, view, function... và bạn không thể nhớ hết được user nào đang nắm giữ quyền nào... để tiến hành gán lại quyền.
Nhiều người thắc mắc về quá trình Detach và attach Database làm mất hết quyền của user trên đó, nội dung dưới đây sẽ hướng dẫn bạn cách giữ nguyên tất cả các quyền trên Database đó mà không phải tạo account mới và đi gán lại các quyền cho nó.
Cách Attach và Detach database không làm mất quyền user trong SQL Server
Bước 1: Detach và attach Database bình thường
Bước 2:
2.1 Ghi lại tên các User có ở trong Database vừa attach lên
2.2 Vào Sercurit: Logins để tạo lại các user vừa ghi lại ở trên
Bước 3. Sau khi đã tạo xong các account trùng tên, tiến hành Ánh xạ lại quyền cho từng user của Database:
Chạy lệnh SQL: EXEC sp_change_users_login 'Update_One', 'UserName_Cần_Ánh_Xạ', ' UserName_Cần_Ánh_Xạ '
Ví dụ: EXEC sp_change_users_login 'Update_One', 'New1', 'New1'
sp_change_users_login là một thủ tục hệ thống có sẵn trong SQL sẽ giúp chúng ta lấy lại quyền cho các database. mà không phải đi gán đến từng quyền trên mỗi user rất phực tạp.
https://thuthuat.taimienphi.vn/ms-sql-server-attach-va-detach-database-khong-lam-mat-quyen-user-26268n.aspx
SQL Server rất quan trọng với các công ty, doanh nghiệp, vì thế việc sao lưu cũng như khôi phục SQL Server là rất quan trọng, với bài hướng dẫn sao lưu SQL Server cũng như khôi phục mà chúng tôi đã chia sẻ sẽ giúp các bạn tự sao lưu được dữ liệu của mình và khôi phục lại trong những tình huống xấu có thể xảy ra, thời gian diễn ra việc sao lưu SQL Server phụ thuộc vào dung lượng dữ liệu của các bạn.