ठीक है, माइक्रोसॉफ़्ट सपोर्ट से संपर्क करने के बाद मैंने इसे ठीक से काम किया, लेकिन यह धीमा और कमोबेश बेकार है। एक बैकअप करना और फिर एक पुनर्स्थापना करना बहुत तेज़ है और मैं इसका उपयोग तब तक करता रहूंगा जब तक कि नई प्रति मूल सर्वर के समान सर्वर पर रहती है।
कार्य कोड इस प्रकार है:
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();
चाल गंतव्यडेटाबेस संपत्ति सेट करने के लिए थी। यह सेट किया जाना चाहिए, भले ही लक्ष्य स्रोत के समान ही हो। इसके अलावा मुझे अन्य कनेक्शन विकल्पों का उपयोग करने के बजाय सर्वर से एक नामित उदाहरण के रूप में कनेक्ट करना पड़ा।