开发者社区> 问答> 正文

创建数据库克隆时出现异常

我想使用C#创建数据库的克隆,但出现异常

无法通过MARS连接执行DBCC CLONEDATABASE。

我的代码:

SqlConnection sqlConnection = new SqlConnection(ConnectionString);

DataTable dataTable = new DataTable();
sqlConnection.Open();

SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(" DBCC CLONEDATABASE (SinglePoint, SinglePoint_1) ALTER DATABASE[SinglePoint_1] SET READ_WRITE ", sqlConnection);
sqlDataAdapter.Fill(dataTable);
sqlConnection.Close();

展开
收起
祖安文状元 2020-01-05 14:57:00 433 0
1 条回答
写回答
取消 提交回答
  • 您的连接字符串包含MultipleActiveResultSets=True,这将在SQL Server中启用MARS功能。您尝试执行的语句不支持此功能。您需要将其从连接字符串中删除,或将值更改为False。

    另外,您不必要SqlDataAdapter在非查询语句中使用。尝试这个:

    string sql = "DBCC CLONEDATABASE (SinglePoint, SinglePoint_1) " 
        + "ALTER DATABASE[SinglePoint_1] SET READ_WRITE";
    
    using (SqlConnection sqlConnection = new SqlConnection(ConnectionString)) {
        sqlConnection.Open();
        using (SqlCommand cmd = new SqlCommand(sql, sqlConnection)) {
            cmd.ExecuteNonQuery();
        }
    }
    
    2020-01-05 14:57:09
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载