我需要将 SQL Server Express 数据库从一台服务器复制到另一台(虚拟)服务器。
我知道如何为数据库本身执行此操作 - 通过备份和恢复。我还查看了this和this,它们展示了如何编写脚本 - 这很棒。
但是,我还需要使用它的权限,但不知道该怎么做。
任何指针都会受到热烈欢迎。
登录名需要已经存在于目标服务器上,但是一旦它们存在,您可以使用如下脚本将登录名连接回用户:
sp_change_users_login 'Update_One', 'user-name', 'login-name'
有关sp_change_users_login的更多信息,请参见 MSDN
登录是在服务器级别。用户位于每个数据库级别。通常我保持登录名和用户名相同以避免混淆,但它们可以不同。用户在数据库中定义权限,您并没有丢失它们,只是登录链接。
作为 sp_change_users_login 的替代方法
ALTER USER username WITH LOGIN = newlogin