【问题标题】:How do I copy data from one Azure database table to a different Azure database table and also convert data types?如何将数据从一个 Azure 数据库表复制到另一个 Azure 数据库表并转换数据类型?
【发布时间】:2020-03-27 07:51:58
【问题描述】:

我必须将数据从一个表复制到另一个表,这些表保存在 Azure 中的两个不同数据库中。我快速搜索了这个问题的答案,而查询似乎相当简单,即

INSERT INTO table1 (make, model, type, serial)

SELECT the_make, the_model, the_type, ref_no

FROM database2.dbo.table2

我遇到问题是因为我使用的是 Azure。

消息 40515,级别 15,状态 1,第 16 行参考数据库和/或 此版本不支持“database2.dbo.table2”中的服务器名称 SQL 服务器。

上述问题将我引向了跨数据库查询文章。我的要求比所提供的一些场景要复杂一些,我需要一些帮助才能使其发挥作用。

我还需要将一些列(例如reg_no,它是一个“字符串”)转换为“整数”,然后将值复制到“串行”列。

我的问题是,为此创建一个脚本的最佳方法是什么,它允许我在没有任何错误的情况下引用两个数据库、复制数据并同时转换列?我尝试了导出和导入数据的简单方法,编辑列的映射,我发现它不是那么好,并且在整个地方都造成了问题。

对此的任何指导表示赞赏。

【问题讨论】:

    标签: sql asp.net azure asp.net-core


    【解决方案1】:

    您收到此错误是因为默认情况下没有链接服务器。您需要添加它,才能访问辅助数据库服务器。这是一个关于如何做到这一点的链接:

    https://www.sqlshack.com/create-linked-server-azure-sql-database/

    在转型方面。这取决于许多因素,例如行数、频率等。

    通常最好的替代方法是使用外部工具 (ETL),例如 SSIS / Azure 数据工厂,因为您可以安排它的执行并获取每次执行的状态。

    【讨论】:

    • 我不知道它存在,谢谢。我无法使用该教程,因为我的树中没有“数据库对象”元素,也没有打开它的选项,尝试修改 SSMS 以打开它是行不通的,因为没有选项它。我正在使用 SSMS 18.4
    • 你可以使用常规的 t-sql 来完成。只需寻找链接服务器和 SQL 数据库
    猜你喜欢
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    相关资源
    最近更新 更多