【问题标题】:Making a copy of an azure database制作 Azure 数据库的副本
【发布时间】:2013-02-15 11:43:06
【问题描述】:

我需要复制一个 azure 数据库,但我无权访问任何管理工具,只有一个连接字符串。

我知道要使用 CREATE DATABASE x AS COPY OF y 命令,我需要在 master 数据库中,但我不知道如何告诉 Azure 从那里运行我的命令。例如,我有这样的代码:

var commandText = "CREATE DATABASE foobar AS COPY OF " + database;
var connectionString = <my_connection_string>;

using (var conn = new SqlConnection(connectionString))
{
    using (var cmd = new SqlCommand(commandText, conn))
    {
        cmd.CommandType = CommandType.Text;
        conn.Open();
        cmd.ExecuteNonQuery();
    }
}

失败并出现错误“用户必须在主数据库中”——正如我所料。

但是我的连接字符串对 master 数据库无效,那么如何从 master 数据库执行这个命令呢?如果我在 SQL Management Studio 中,我会这样做:

use master
CREATE DATABASE x AS COPY OF y

有没有办法在我的代码中模拟它?

【问题讨论】:

  • 顺便说一句,你不能在 SQL Azure 中使用USE db

标签: c# .net azure azure-sql-database


【解决方案1】:

更改您的连接字符串以访问主数据库,而不是您的常规数据库。就这么简单,也是唯一的解决方案。

【讨论】:

  • 这是我们必须处理的安全问题的一部分。 ;) 请随时将我的回复标记为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多