通过C#的SqlConnection复制整个SQL数据库

时间:2015-10-02 19:14:52

标签: c# sql sql-server sqlconnection

我有两个连接字符串,第一个是现有数据库,第二个是不同的SQL Server。我需要将整个第一个数据库复制到第二个数据库。这包括创建所有表,约束和键。我想使用SqlConnection对象,但无法访问硬盘。

编辑1:
我可以创建db(下面的代码)但我无法弄清楚如何以编程方式设置表然后填充它们。解决这个问题的最佳方式是什么?

public void Copy()
{
    var connectionForExisting = "REDACTED";
    var connectionForNew = "REDACTED";
    var targetDbName = "REDACTED";

    var source = new SqlConnection(connectionForExisting);
    var target = new SqlConnection(connectionForNew);

    try
    {
        source.Open();
    }
    catch (Exception e)
    {
        source.Close();
        return;
    }

    try
    {
        target.Open();
    }
    catch (Exception e)
    {
        source.Close();
        target.Close();
        return;
    }

    var myCommand = new SqlCommand(String.Format(CreateNewDatabaseScript, targetDbName), target);
    try
    {
        myCommand.ExecuteNonQuery();
    }
    catch (Exception e)
    {
        source.Close();
        target.Close();
        return;
    }
}

0 个答案:

没有答案