SQL Server 2005: при копировании структуры таблицы в другую базу данных "CONSTRAINT" теряются ключевые слова - PullRequest
2 голосов
/ 28 апреля 2010

Фрагмент оригинального стола:

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 Ответ

2 голосов
/ 28 апреля 2010

Свойство Transfer.Options может предоставить ответ. В частности, может помочь справка по документации , в которой для свойства DriDefaults и, в более общем случае, для свойства DriAll установлено значение true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...