Sql CopyAllViews=false被SMO忽略
我希望SMO不要为视图编写脚本,所以我这样做了Sql CopyAllViews=false被SMO忽略,sql,sql-server-2008,smo,Sql,Sql Server 2008,Smo,我希望SMO不要为视图编写脚本,所以我这样做了 var transfer = new Transfer(database) { CopyAllTables = true, CopyAllDefaults = false, CopyAllStoredProcedures = true, CopyAllDatabaseTriggers = true, CopyAllObjects = false,
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,以便按照依赖顺序编写它们的脚本
请帮忙?我并没有完全修复它,但最终过滤掉了任何带有“创建视图”的行。所以我就打电话
transfer.ScriptTransfer().Cast<string>().ToList()
transfer.ScriptTransfer().Cast().ToList()
除非我遗漏了什么,否则SMO选项中的许多标志(如CopyAllUsers)似乎只有在感觉合适的时候才会受到尊重(有些选项看起来与我需要的完全一样,但不起作用,这真是太遗憾了