MSDeploy 3和dbDacFx无法识别它声称支持的参数。我错过了什么吗?

时间:2014-10-08 02:18:08

标签: msdeploy

这是我的命令行:

msdeploy.exe -verb:sync  -Source:dbDacFx="C:\MyDB.dacpac" -dest:dbDacFx="Data Source=myserver;Database=MyDB;userid=myuser;password=secret",wmsvc="https://www.myserver.com",username=myotheruser,password=anothersecret,BlockOnPossibleDataLoss="False" -verbose

BlockOnPossibleDataLoss参数的存在会导致此错误:

Error Code: 109
More Information:
Error: Exception has been thrown by the target of an invocation.
Error: Provider 'dbDacFx' does not support setting 'BlockOnPossibleDataLoss'.
Error count: 1.

如果我把它取出BlockOnPossibleDataLoss参数,它可以正常工作

如果我放入这样的垃圾设置:

msdeploy.exe -verb:sync  -Source:dbDacFx="C:\MyDB.dacpac" -dest:dbDacFx="Data Source=myserver;Database=MyDB;userid=myuser;password=secret",wmsvc="https://www.myserver.com",username=myotheruser,password=anothersecret,asdfghjkl="False" -verbose

我收到此错误消息:

Error: The provider 'dbDacFx' does not support the 'asdfghjkl' setting. Supporte
d settings are (dropDestinationDatabase, dacpacAction, includeData, commandTimeo
ut, AllowDropBlockingAssemblies, AllowIncompatiblePlatform, BackupDatabaseBefore
Changes, BlockOnPossibleDataLoss, BlockWhenDriftDetected, CommentOutSetVarDeclar
ations, CompareUsingTargetCollation, CreateNewDatabase, DeployDatabaseInSingleUs
erMode, DisableAndReenableDdlTriggers, DoNotAlterChangeDataCaptureObjects, DoNot
AlterReplicatedObjects, DropConstraintsNotInSource, DropDmlTriggersNotInSource,
DropExtendedPropertiesNotInSource, DropIndexesNotInSource, DropObjectsNotInSourc
e, DropPermissionsNotInSource, DropRoleMembersNotInSource, GenerateSmartDefaults
, IgnoreAnsiNulls, IgnoreAuthorizer, IgnoreColumnCollation, IgnoreComments, Igno
reCryptographicProviderFilePath, IgnoreDdlTriggerOrder, IgnoreDdlTriggerState, I
gnoreDefaultSchema, IgnoreDmlTriggerOrder, IgnoreDmlTriggerState, IgnoreExtended
Properties, IgnoreFileAndLogFilePath, IgnoreFilegroupPlacement, IgnoreFileSize,
IgnoreFillFactor, IgnoreFullTextCatalogFilePath, IgnoreIdentitySeed, IgnoreIncre
ment, IgnoreIndexOptions, IgnoreIndexPadding, IgnoreKeywordCasing, IgnoreLockHin
tsOnIndexes, IgnoreLoginSids, IgnoreNotForReplication, IgnoreObjectPlacementOnPa
rtitionScheme, IgnorePartitionSchemes, IgnorePermissions, IgnoreQuotedIdentifier
s, IgnoreRoleMembership, IgnoreRouteLifetime, IgnoreSemicolonBetweenStatements,
IgnoreTableOptions, IgnoreUserSettingsObjects, IgnoreWhitespace, IgnoreWithNoche
ckOnCheckConstraints, IgnoreWithNocheckOnForeignKeys, IncludeCompositeObjects, I
ncludeTransactionalScripts, NoAlterStatementsToChangeClrTypes, PopulateFilesOnFi
leGroups, RegisterDataTierApplication, RunDeploymentPlanExecutors, ScriptDatabas
eCollation, ScriptDatabaseCompatibility, ScriptDatabaseOptions, ScriptDeployStat
eChecks, ScriptFileSize, ScriptNewConstraintValidation, ScriptRefreshModule, Tre
atVerificationErrorsAsWarnings, UnmodifiableObjectWarnings, VerifyCollationCompa
tibility, VerifyDeployment, authType, computerName, encryptPassword, includeAcls
, password, prefetchPayload, userName, wmsvc).
Error count: 1.

请注意,包含 BlockOnPossibleDataLoss作为错误消息中支持的关于不支持其他一些垃圾参数的设置之一。这完全是矛盾的。此外,如果您只是询问dbDacFx提供程序它支持的内容:

msdeploy.exe -Help -Source:dbDacFx

它列出了许多设置,包括:

Provider Setting:  BlockOnPossibleDataLoss

   A true or false value for the 'BlockOnPossibleDataLoss'
   setting.

我从阅读中了解到dbDacFx以及许多其他用户对其不完整性感到沮丧,认为它已经“未煮熟”。但这是我第一次意识到情况是多么荒谬,它报告它不支持特定参数,但在它支持的参数中列出它。

这是固定的,还是应该丢弃dbDacFx?我错过了什么吗?

0 个答案:

没有答案