【问题标题】:CONTROL DATABASE issue when migrating SQL database to Azure将 SQL 数据库迁移到 Azure 时出现 CONTROL DATABASE 问题
【发布时间】:2017-09-11 10:41:41
【问题描述】:

我正在关注这个tutorial on Microsoft Docs。我已经到了使用“数据迁移助手”的部分,但是在选择目标 Azure 数据库并单击“下一步”后,出现以下错误:

发生意外错误。 当前主体没有对 DATABASE 类的安全 AzureDatabaseName 的 CONTROL 权限。

我正在使用 Azure SQL 服务器的唯一用户 - 服务器管理员,它应该拥有所有权限。我已经使用IS_ROLEMEMBER 验证了用户是“db_owner”。

我错过了什么吗?

【问题讨论】:

    标签: sql-server azure


    【解决方案1】:

    我有同样的问题。这似乎是 Azure SQL 数据库中的一个错误。如果数据库名称中有圆点,则它不起作用。我用斜线替换了点,它对我有用。

    您不需要重新创建数据库。重命名对我来说效果很好:

    1. 您必须确保没有其他人在使用该数据库!
    2. 连接到主表并在 Azure SQL Server 上执行以下脚本:

      使用大师;
      去
      更改数据库 [my.database] 修改名称 = [我的数据库] ;
      去吧

    这里是如何重命名 Azure SQL 数据库的链接:

    https://docs.microsoft.com/en-us/sql/relational-databases/databases/rename-a-database

    【讨论】:

      【解决方案2】:

      还要确保为传入连接创建防火墙规则。这个错误可能有点牵强。

      【讨论】:

      • 这是我的问题!使用旧版本的 SSMS 时,系统不会提示我授予防火墙访问权限,但在创建防火墙访问权限后,我能够连接 SSMS,然后还可以使用 SQL 迁移工具
      【解决方案3】:

      我删除了所有内容 - 数据库、sql server 和资源组。然后,我使用相同的名称重新创建了所有内容,除了数据库名称(以前包含点),这次迁移工具起作用了。我想我只是遇到了一些错误。

      【讨论】:

        【解决方案4】:

        如果目标数据库名称中有点,则必须删除或替换数据库名称中的点。
        喜欢:'demo.customerdb' 到 'demo-customerdb'

        您可以使用 Sql Management Studio 进行数据库重命名:

        1. 连接目标数据库服务器
        2. 选择目标数据库
        3. 按“F2”键或右键单击目标数据库然后选择 “重命名”
        4. 从数据库名称中删除点 (.) 即可! :)

        之后,您可以从头开始再次尝试迁移过程。

        【讨论】:

          猜你喜欢
          • 2014-12-30
          • 1970-01-01
          • 2010-12-28
          • 1970-01-01
          • 1970-01-01
          • 2019-02-23
          • 1970-01-01
          • 1970-01-01
          • 2020-12-13
          相关资源
          最近更新 更多