【问题标题】:Azure SQL database copy with active replica具有活动副本的 Azure SQL 数据库副本
【发布时间】:2018-12-08 01:50:34
【问题描述】:

我在制作 Azure SQL 数据库的副本时遇到问题。我们正在复制的数据库有一个在线副本,作为异地复制的一部分,该副本可通过 Azure 门户获得和配置。

我们使用 Azure 门户复制按钮将主要数据复制到不同的服务器上,但我们的数据库副本仍然认为它是副本集的一部分。

例如,我运行以下 SQL:

ALTER DATABASE <DatabaseName> SET SINGLE_USER WITH ROLLBACK IMMEDIATE

我得到的回应是:

无法对数据库“”执行该操作,因为它涉及数据库镜像会话或可用性组。不允许对参与数据库镜像会话或可用性组的数据库执行某些操作。 消息 5069,第 16 层,状态 1,第 1 行 ALTER DATABASE 语句失败。

我尝试过运行:

ALTER DATABASE <DatabaseName> SET PARTNER OFF; 

这不支持作为 azure-sql 的一部分,所以我得到以下响应:

此版本的 SQL Server 不支持关键字或语句选项“PARTNER”。

数据库副本的 Azure 门户显示“未配置异地复制”

谁能指出我正确的方向,告诉我如何告诉数据库副本它不再是任何复制的一部分?

【问题讨论】:

    标签: sql-server azure azure-sql-database


    【解决方案1】:

    这个

    alter database current set single_user with rollback immediate
    

    在 Azure SQL 数据库中总是失败:

    Msg 1468, Level 16, State 1, Line 3 操作无法执行 在数据库“xxxx”上,因为它涉及数据库镜像 会话或可用性组。

    您将看到 single_user 不在 Azure SQL 数据库的 ALTER DATABASE 支持的语法中。相反,您可以设置 RESTRICTED_USER:

    <db_update_option> ::=  
      { READ_ONLY | READ_WRITE }  
    
    <db_user_access_option> ::=  
      { RESTRICTED_USER | MULTI_USER }  
    

    RESTRICTED_USER

    RESTRICTED_USER 只允许 db_owner 固定数据库角色和 dbcreator 和 sysadmin 固定服务器 角色连接数据库,但不限制其数量。全部 在时间范围内断开与数据库的连接 由 ALTER DATABASE 语句的终止子句指定。 在数据库转换到 RESTRICTED_USER 状态后, 拒绝不合格用户的连接尝试。 RESTRICTED_USER 无法使用 SQL 数据库托管实例进行修改。

    如果无法连接到 Master 并查看并可能终止连接到用户数据库的会话,将数据库设置为 SINGLE_USER 可能不好

    【讨论】:

      【解决方案2】:

      添加到 Conor 答案,您还可以尝试将数据库导出为 bacpac,然后将其作为新数据库导入。 Here 您将了解如何将数据库导出到 Azure 存储帐户。

      【讨论】:

      • 感谢您的建议。我的问题有几件事,但这对我的帮助最大。
      • 我希望您有时间与我们分享导致原始错误的所有事情。我很高兴我们都以某种方式帮助了你,
      【解决方案3】:

      我会问工程团队。可能在复制期间,它在概念上是副本集的一部分,直到复制完成。

      您的替代方案应该可以在没有任何问题(如您所看到的让您畅通无阻)的情况下工作,是从“现在”恢复备份,这将从最近的备份中为您创建一个新的数据库副本(它确实差异备份,以便您在指定的时间点获得所有更改)。试一试,看看是否能满足您的需求。

      【讨论】:

      • 我尝试了还原到时间点选项,但我们遇到了与直接复制相同的问题。
      • 让我澄清一下。 SQL Azure 不支持您尝试运行以执行回滚的语句等。但是,如果您从时间点恢复中恢复,您确实会获得从不属于连续复制关系的备份中恢复的数据库副本。因此,如果您只是从最近的备份中恢复,则根本不需要运行这些命令。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多