2

我需要制作一个天蓝色数据库的副本,但我无权访问任何管理工具,只能访问一个连接字符串。

我知道要使用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();
    }
}

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

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

use master
CREATE DATABASE x AS COPY OF y

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

4

1 回答 1

4

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

于 2013-02-15T11:46:25.767 回答