sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af SMO til at kopiere en database og data

Nå, efter at have kontaktet Microsft Support fik jeg det til at fungere korrekt, men det er langsomt og mere eller mindre ubrugeligt. At lave en backup og derefter en gendannelse er meget hurtigere, og jeg vil bruge det, så længe den nye kopi skal leve på samme server som originalen.

Arbejdskoden er som følger:

ServerConnection conn = new ServerConnection("rune\\sql2008");
Server server = new Server(conn);

Database newdb = new Database(server, "new database");
newdb.Create();

Transfer transfer = new Transfer(server.Databases["source database"]);
transfer.CopyAllObjects = true;
transfer.CopyAllUsers = true;
transfer.Options.WithDependencies = true;
transfer.DestinationDatabase = newdb.Name;
transfer.DestinationServer = server.Name;
transfer.DestinationLoginSecure = true;
transfer.CopySchema = true;
transfer.CopyData = true;
transfer.Options.ContinueScriptingOnError = true;
transfer.TransferData();

Tricket var at indstille egenskaben DestinationDatabase. Dette skal indstilles, selvom målet er det samme som kilden. Derudover skulle jeg oprette forbindelse til serveren som en navngivet instans i stedet for at bruge de andre forbindelsesmuligheder.



  1. Indsæt poster til mysql-database med php ved hjælp af Ajax

  2. Slut dig til to tabeller og udtræk den laveste pris med flere betingelser (multiple sku)

  3. Hvordan bygger man en hybrid_method, der tæller antallet af poster fra de sidste X dage?

  4. Foreign Key Constraint Issue i Oracle