SQL Server 2005:当复制表结构到其他数据库“CONSTRAINT”关键字丢失时

时间:2010-04-27 20:12:58

标签: sql sql-server backup copy default-constraint

原始表格的片段:

CREATE TABLE [dbo].[Batch](
    [CustomerDepositMade] [money] NOT NULL 
         CONSTRAINT [DF_Batch_CustomerDepositMade]  DEFAULT (0)

复制表的片段:

CREATE TABLE [dbo].[Batch](
    [CustomerDepositMade] [money] NOT NULL,

复制数据库代码:

        Server server = new Server(SourceSQLServer);
        Database database = server.Databases[SourceDatabase];

        Transfer transfer = new Transfer(database);
        transfer.CopyAllObjects = true;
        transfer.CopySchema = true;
        transfer.CopyData = false;

        transfer.DropDestinationObjectsFirst = true;

        transfer.DestinationServer = DestinationSQLServer;
        transfer.CreateTargetDatabase = true;

        Database ddatabase = new Database(server, DestinationDatabase);
        ddatabase.Create();
        transfer.DestinationDatabase = DestinationDatabase;
        transfer.Options.IncludeIfNotExists = true;
        transfer.TransferData();

1 个答案:

答案 0 :(得分:2)

Transfer.Options属性可能会提供答案。特别是,查看documentation,设置DriDefaults属性,更一般地说,将DriAll属性设置为true可能会有所帮助。