跳至内容

如何将 SQL Server 用户从一个 RDS for SQL Server 实例移动到另一个实例,或从 RDS 移动到本地环境中?

2 分钟阅读
0

我想在两个 Amazon Relational Database (Amazon RDS) for Microsoft SQL Server 实例之间迁移 SQL Server 登录名和密码。我还想从本地环境迁移登录名或将其迁移到本地环境。

解决方法

**注意:**有关复制主用户登录名的说明,请参阅如何复制或克隆我的 RDS for SQL Server 用户登录名权限?

将 SQL Server 登录名从一个 RDS for SQL Server 实例迁移到另一个实例

要将登录名和密码迁移到新的目标 RDS 实例,请完成以下步骤:

  1. 创建源实例的快照
  2. 在目标实例上使用其他名称来还原快照
  3. 删除不需要的登录名和数据库。

要将登录名迁移到现有的目标 RDS 实例,请完成以下部分中的步骤。

将 RDS for SQL Server 的登录名迁移到本地环境

**注意:**您必须按照以下解决方法手动输入密码。您无法在 RDS 上直接检索登录名的加密密码。

选项 1

  1. 在任何用户数据库上创建 sp_help_revlogins 存储过程。有关存储过程脚本,请参阅 Transfer logins and passwords between instances of SQL Server(在 SQL Server 实例之间传输登录名和密码)中的 Method 2(方法 2)(在 Microsoft 网站上)。
  2. 运行存储过程来编写源实例上的登录脚本。

**注意:**在主数据库中创建存储过程会导致以下错误:

"Msg 262, Level 14, State 18, Procedure sp_hexadecimal, Line 1 [Batch Start Line 5]CREATE PROCEDURE permission denied in database 'master'"

为了避免发生此错误,请在一个用户数据库上创建过程。在目标实例中创建登录后,重置密码,避免密码不匹配。

选项 2

要手动创建登录或使用 Microsoft SQL Server Management Studio (SSMS) 编写登录脚本,请完成以下步骤:

  1. 在 SSMS 中打开安全占位符,然后展开。
  2. 选择登录,然后按 F7 键。也可以从 View(查看)菜单中选择 Object explorer details(对象资源管理器详细信息)。
  3. 按住 Ctrl 键选择要迁移的登录
  4. 选择所需的登录后,选择(右键单击)屏幕。然后,选择 Script Login as(编写登陆),打开一个新的查询窗口。
  5. 复制创建登录脚本。然后,替换密码,在目标实例上运行脚本。有关存储过程脚本,请参阅 Transfer logins and passwords between instances of SQL Server(在 SQL Server 实例之间传输登录和密码)中的 Method 1(方法 1)(在 Microsoft 网站上)。

将登录名和密码从本地环境迁移到 RDS for SQL Server

在源服务器(本地)上,完成以下步骤:

  1. 为来自本地服务器的所有登录生成创建登录脚本。有关存储过程脚本,请参阅 Transfer logins and passwords between instances of SQL Server(在 SQL Server 实例之间传输登录和密码)中的 Method 2(方法 2)(在 Microsoft 网站上)。
  2. 创建存储过程后,打开一个新的 T-SQL 窗口。然后,使用以下命令运行存储过程。

**注意:**在运行脚本之前,按键盘上的 Ctrl+T 确保结果为文本格式。

EXEC [sp_help_revlogin]

此查询输出提供脚本,用于在目标服务器上创建具有原始 SID 和密码的登录。

在目标服务器上,完成以下步骤:

  1. 使用主用户账户连接到 RDS for SQL Server 实例。
  2. 运行您**在源服务器上(本地)**部分的步骤 2(sp_help_revlogin 的输出)中生成的脚本。

**注意:**您无法授予系统管理员访问权限在 RDS 中登录。因此,当您将具有 sysadmin 权限的登录迁移到 RDS 时,不会被自动授予访问权限。您必须显式授予这些登录所需的权限。
有关 RDS 用户的可用权限列表,请参阅主用户账户权限

对主账户权限问题进行故障排除

查找您的主用户名

  1. 打开 Amazon Aurora 和 RDS 控制台
  2. 在导航窗格中,选择 Databases(数据库)。
  3. 选择您想要的主用户名 RDS 数据库实例。
  4. 打开 Configuration(配置)选项卡。主要用户名列在 Availability(可用性)部分中。

重置主用户密码或恢复主用户的权限

有关重置主用户密码的信息,请参阅如何重置 Amazon RDS 数据库实例的主用户密码?

AWS 官方已更新 3 年前