2

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();
    }
}

「ユーザーはマスターデータベースにいる必要があります」というエラーで失敗します-予想どおり。

しかし、私の接続文字列はマスター データベースに対して有効ではありません。マスター データベースからこのコマンドを実行するにはどうすればよいですか? 私が SQL Management Studio を使用していた場合、次のようにします。

use master
CREATE DATABASE x AS COPY OF y

私のコードでそれをエミュレートする方法はありますか?

4

1 に答える 1

4

接続文字列を変更して、通常のデータベースではなく master データベースにアクセスします。それはそれと同じくらい簡単で、唯一の解決策です。

于 2013-02-15T11:46:25.767 に答える