【发布时间】: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