Дублировать БД с SMO, пытается перезаписать исходную БД - PullRequest
1 голос
/ 24 августа 2011

Я пытаюсь продублировать базу данных в SQL Server 2008 R2. Я хочу использовать БД в качестве шаблона, а затем скопировать его под другим именем (все остальное должно быть таким же) на сервере.

Я использую этот код, который я нашел в Интернете, но он всегда говорит, что он не может создать source.mdf, потому что он уже существует.

    // Connect to Server
    Server server = new Server(txtSourceServer.Text);

    // Get the Database to Transfer
    Database db = server.Databases[txtSource.Text];

    // Setup transfer
    // I want to copy all objects
    // both Data and Schema
    Transfer t = new Transfer(db);
    t.CopyAllObjects = true;
    t.DropDestinationObjectsFirst = true;
    t.CopySchema = true;
    t.CopyData = true;
    t.DestinationServer = txtDestServer.Text;
    t.DestinationDatabase = txtDest.Text;
    t.Options.IncludeIfNotExists = true;
    t.CreateTargetDatabase = true;

    // Transfer Schema and Data
    t.TransferData();

    // Kill It
    server = null;

Это даже правильный подход или есть какой-то другой путь? С Oracle я бы использовал экспорт и импорт, но с SQL Server я просто потерян :(

...