我们使用SqlPackage通过脚本操作生成脚本。有人知道如何让它排除索引吗?似乎找不到办法。
SqlPackage参考提供了几个/p:属性,用于排除大量其他对象类型,我们使用这些对象类型效果很好,但没有索引。似乎我们只能调整索引,而不是排除索引。我们使用的是SQL 2017,但SQL 2019也是如此。
是否有人找到了从脚本中完全排除索引的方法,这样就可以将索引保留在目标db上,就像对所有其他类型的SQL对象一样?
/p: ExcludeObjectTypes=(STRING)在部署过程中应该忽略的以分号分隔的对象类型列表。 有效的对象类型名称为:集合、ApplicationRoles、程序集、AsymmetricKeys、BrokerPriorities、证书、ColumnEncryptionKeys、ColumnMasterKeys、契约、DatabaseRoles、DatabaseTriggers、默认值、ExtendedProperties、ExternalDataSources、ExternalFileFormats、ExternalTables、文件组、FileTables、FullTextCatalogs、FullTextStoplists、MessageTypes、PartitionFunctions、PartitionSchemes、权限、队列、PartitionFunctions、PartitionSchemes、Rules、序列、服务、签名、同义词、表、#en26、#en27、用户、视图、、审核、凭据、#en29、30、、Endpoint、en32、33、#en35、#en35、# Endpoints、##Endpoints、#、#Endpoints、#39#Endpoints。
请注意,我们知道/p: DropIndexesNotInSource=True/False和/p: IgnoreIndexOptions=True/False,但这些还不够。
发布于 2022-04-21 12:36:50
我相信你需要使用一个publish.xml文件。关于粗略的想法,请参阅这个答案。它回答的问题有一个示例文件。如果通过GUI设置为不包含索引,那么文件应该包含类似于<ExcludeIndexes>True</ExcludeIndexes>的内容。
https://stackoverflow.com/questions/71914661
复制相似问题