我需要制作一个天蓝色数据库的副本,但我无权访问任何管理工具,只能访问一个连接字符串。
我知道要使用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
有没有办法在我的代码中模拟它?