有人可以告诉我是否可以通过一次复制活动将所有表、存储过程和视图从一个 SQL DB 复制到 Azure SQLDB?
对于源数据集我有以下复制活动:
我相信上述操作将复制并创建所有表,但我不确定我是否复制并创建了存储过程、视图等...
根据@Bhavani 提供的答案,有人可以告诉我如何
添加带有两个字符串参数的源数据集和接收器数据集Schema和Table将它们定义为@dataset().Schema for schema,@dataset().Table
我已添加 Schema 和 TableName,如所述,参见图片,但出现错误“复制活动需要表”
我快到了。我修复了“复制活动需要表”错误。现在我收到错误"The expression 'length(activity('Lookup1').output.value)' cannot be evaluated because property 'value' doesn't exist, available properties are 'firstRow, effectiveIntegrationRuntime, billingReference, durationInQueue'.
根据MS 文档, SQL 服务器数据集仅支持选择表或视图,不支持存储过程。根据此
您可以使用一个复制活动将所有表/视图从一个 Azure SQL 数据库复制到目标数据库表,如下所示:
创建源数据库的数据集并添加查找活动在查询下面运行以获取所有视图和表:
查找输出:
将 foreach 活动添加到查找活动,
@activity('Lookup1').output.value
使用启用顺序选项作为项目。添加源和接收器数据集,使用两个字符串参数 Schema和 Table 将它们定义为
@dataset().Schema
架构和@dataset().Table
表。将它们添加到复制活动的源、接收器,并使用以下定义的参数值:源数据集:
接收器数据集:
配置复制活动后,调试管道。所有视图和表都已成功复制到目标数据库,如下所示:
或者,要将数据库的所有对象复制到新创建的数据库,请打开数据库页面,然后选择“复制”以打开“创建 SQL 数据库 - 复制数据库”页面。填写要将数据库复制到的目标服务器的值。
它会将所有对象(如表、存储过程、视图)复制到目标数据库。有关更多信息,您可以参考MS 文档。