さて、Microsft Supportに連絡した後、私はそれを適切に動作させましたが、それは遅く、多かれ少なかれ役に立たないです。バックアップを実行してから復元を実行する方がはるかに高速であり、新しいコピーが元のコピーと同じサーバー上に存在する限り、それを使用します。
作業コードは次のとおりです。
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();
秘訣は、DestinationDatabaseプロパティを設定することでした。ターゲットがソースと同じであっても、これを設定する必要があります。さらに、他の接続オプションを使用する代わりに、名前付きインスタンスとしてサーバーに接続する必要がありました。