首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在命令行上使用Microsoft数据迁移工具

在命令行上使用Microsoft数据迁移工具
EN

Database Administration用户
提问于 2021-11-05 23:26:36
回答 1查看 217关注 0票数 1

我正在使用下面链接中的Microsoft文档

https://learn.microsoft.com/en-us/sql/dma/dma-commandline?view=sql-server-ver15

我从文档中使用的示例是这个

使用

身份验证

对服务器上的所有数据库进行目标就绪性评估

我的最终命令如下:

/SourceConnections="Server=MYTESTSERVER;Integrated /AssessmentTargetPlatform="SqlServerWindows2019“/AssessmentResultJson="E:\temp\results\MYTESTSERVER.json”DmaCmd.exe /Action=AssessTargetReadiness /AssessmentName="MYTESTSERVER“

我想要到SQLServer2019的数据迁移评估结果,所以我在命令/AssessmentTargetPlatform="SqlServerWindows2019“中添加了这个选项

根据文档,这应该是简单而直接的。显然不是。通过运行上面的命令,我得到下面的错误,说明无效的目标平台。我复制并粘贴了这个错误的值--它不起作用。我试过了,没有引号,我仍然得到同样的错误。有人能告诉我我的命令出了什么问题吗。我的目标是评估2019年评估中给定的2016年服务器上的所有数据库。

代码语言:javascript
复制
 Message:
        Invalid target platform specified for assessment. Please choose one of 'SqlServer2012', 'SqlServer2014', 'SqlServer2016', 'SqlServerWindows2017', 'SqlServerLinux2017', 'SqlServerWindows2019', 'SqlServerLinux2019', 'AzureSqlDatabase' or 'ManagedSqlServer'.
    HResult : 0x85FD0003
        FacilityCode : 1533 (5fd)
        ErrorCode : 3 (0003)
    Data:
        Microsoft.SqlServer.Fundamentals.OperationsInfrastructure.Contracts.ErrorFailureCategory = SettingValidationFailure
'
DmaCmd.exe Information: 0 : 'Exception type: Microsoft.SqlServer.Fundamentals.OperationsInfrastructure.Workflow.Contracts.ActionExecutionException
    Message:
        An exception occurred while running the action 'ValidateCommandLineSettings'.
    HResult : 0x84C40001
        FacilityCode : 1220 (4c4)
        ErrorCode : 1 (0001)
    Data:
        Microsoft.SqlServer.Fundamentals.OperationsInfrastructure.Contracts.ErrorFailureCategory = UnexpectedFailure
        ActionName = ValidateCommandLineSettings
        Microsoft.SqlServer.Fundamentals.OperationsInfrastructure.Contracts.ActionName = ValidateCommandLineSettings
    Stack:
        at Microsoft.SqlServer.Fundamentals.OperationsInfrastructure.Workflow.Contracts.ComposableActivity.Execute(NativeActivityContext context)
        at System.Activities.NativeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
        at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
    Inner exception type: Microsoft.SqlServer.Advisor.Common.Contracts.TargetPlatformNotSupportedException
        Message:
            Invalid target platform specified for assessment. Please choose one of 'SqlServer2012', 'SqlServer2014', 'SqlServer2016', 'SqlServerWindows2017', 'SqlServerLinux2017', 'SqlServerWindows2019', 'SqlServerLinux2019', 'AzureSqlDatabase' or 'ManagedSqlServer'.
        HResult : 0x85FD0003
            FacilityCode : 1533 (5fd)
            ErrorCode : 3 (0003)
EN

回答 1

Database Administration用户

发布于 2021-11-08 21:01:54

错误信息具有误导性。当使用AssessTargetReadiness的操作时,您对AssessmentTargetPlatform的选择仅限于:

  • ManagedSqlServer (默认)
  • CosmosDB (私人预览)

网络文档提到了这一点,但有点令人困惑。

/AssessmentTargetPlatform评估目标平台:支持的评估值: AzureSqlDatabase、ManagedSqlServer、SqlServer2012、SqlServer2014、SqlServer2016、SqlServerLinux2017和SqlServerWindows2017 (默认)目标就绪性评估的和SqlServerWindows2019 2019似乎是在文档编写之后添加的。支持值: ManagedSqlServer (默认)、CosmosDB (预览)

(强调地雷)

第一部分中的“评估”是指其他类型的评估,即AssessmentEvaluateFeatureParityAssessmentEvaluateCompatibilityIssues

但是,Target平台的选择仍然比文档所显示的要有限一些。SQLServerWindows2019选项与AssessmentEvaluateCompatibilityIssues操作一起工作。但是,它似乎只允许在AssessmentEvaluateFeatureParity操作中使用AzureSqlDatabase、ManagedSqlServer和SqlServerLinux2017。当我尝试别人的时候,我会得到这样的结果:

无法运行目标平台SqlServerWindows2019 2019的功能奇偶校验规则。目标平台必须是“AzureSqlDatabase”、“ManagedSqlServer”或“SqlServerLinux2017”,才能运行功能奇偶规则。

(SqlServerLinux2019也能工作,所以很可能是在错误消息合成之后添加的。)

因此,您需要使用以下命令:

代码语言:javascript
复制
DmaCmd.exe /AssessmentEvaluateCompatibilityIssues /AssessmentName="MYTESTSERVER" /SourceConnections="Server=MYTESTSERVER;Integrated Security=true" /AssessmentOverwriteResult /AssessmentTargetPlatform="SqlServerWindows2019" /AssessmentResultJson="E:\temp\results\MYTESTSERVER.json"
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/302211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档