2017-02-01 13 views
0

Я хочу SMO не сценарий мнения, так что я это сделатьCopyAllViews = ЛОЖЬ игнорируется SMO

var transfer = new Transfer(database) 
    { 
     CopyAllTables = true, 
     CopyAllDefaults = false, 
     CopyAllStoredProcedures = true, 
     CopyAllDatabaseTriggers = true, 
     CopyAllObjects = false, 
     CopyAllPartitionFunctions = false, 
     CopyAllPartitionSchemes = false, 
     CopyAllRoles = false, 
     CopyAllRules = true, 
     CopyAllSchemas = true, 
     CopyAllSqlAssemblies = false, 
     CopyAllSynonyms = false, 
     CopyAllUserDefinedAggregates = true, 
     CopyAllUserDefinedDataTypes = true, 
     CopyAllUserDefinedFunctions = true, 
     CopyAllUserDefinedTypes = true, 
     CopyAllUsers = false, 
     CopyAllViews = false, 
     Options = 
     { 
      WithDependencies = true, 
      DriAll = true, 
      Triggers = true, 
      Indexes = true, 
      SchemaQualifyForeignKeysReferences = true, 
      ExtendedProperties = true, 
      IncludeDatabaseRoleMemberships = false, 
      Permissions = true, 
      IncludeDatabaseContext = true 
     }, 
     PreserveDbo = true, 
    }; 

    transfer.ScriptTransfer() 

но мнения по-прежнему сценарию.

Я действительно хочу, чтобы иметь возможность использовать передачу, поскольку это, кажется, единственный способ получить объекты, написанные сценарием в порядке зависимости, без написания большего количества кода. Я установил «CopyAllObjects = false», потому что я подумал, что, возможно, это привело к остальным параметрам, которые я установил для игнорирования, но, похоже, это не принесло пользы.

Моя цель здесь состоит в том, чтобы сценаризировать представления отдельно, потому что у меня есть сервер базы данных с представлениями, которые зависят друг от друга, и им нужно будет использовать dependencywalker для представлений во всех базах данных для их сценариев в порядке зависимости.

Помогите?

ответ

0

Я точно не исправил это, но в конечном итоге отфильтровывал любые строки с «созданием вида» в них. так что я просто называю

transfer.ScriptTransfer().Cast<string>().ToList() 

если я не хватает чего-то, что многие из этих флагов (как CopyAllUsers) в опциях SMO, кажется, только честь, когда он чувствует, как он. :(Жаль, когда некоторые параметры выглядят точно так, как мне нужно, но не работают.