我需要复制一个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
在我的代码中有没有办法模仿它?
答案 0 :(得分:4)
更改连接字符串以访问主数据库而不是常规数据库。它就是那么简单,也是唯一的解决方案。