2

我必须在 SQL Server 2019 和 Azure SQL 中执行跨数据库查询。我能够在两个数据库中创建外部数据源和外部表,但是语法似乎不同。如果有一个标准脚本可以在这两种情况下工作,有人可以指导我吗?

Azure SQL 数据库

  • 外部数据源

    创建外部数据源 SQLServerInstance2

    和 (

    类型=关系型数据库,

    LOCATION='sourcesqlserver.database.windows.net',

    DATABASE_NAME='sourcedb',

    CREDENTIAL= SQLServerCredentials ) ;

  • 外部表

    创建外部表 [dbo].[SourceTable] ( Col1 INT NULL, Col2 INT NULL )

    WITH (DATA_SOURCE = [SQLServerInstance2])

SQL Server 2019

  • 外部数据源

    创建外部数据源 SQLServerInstance2

    WITH ( LOCATION = 'sqlserver://WINSQL2019:58137' , CREDENTIAL = SQLServerCredentials ) ;

  • 外部表

    创建外部表 [dbo].[SourceTable] ( Col1 INT NULL, Col2 INT NULL )

    WITH (DATA_SOURCE = [SQLServerInstance2],LOCATION = N'[SourceDB].[dbo].[SourceTable]')

4

1 回答 1

1

Azure SQL SQL 数据库是一个云数据库。Azure SQL 数据库是一个完全托管的平台即服务 (PaaS) 数据库引擎

即使它与 SQL Server 的功能几乎相同,但仍有许多不同之处。

它们在不同的平台上运行,这就是语法可能不同的原因。

请参考此文档以获取Azure SQL 数据库和 SQL Server 之间的 Transact-SQL 差异

Azure SQL 数据库中的跨数据库查询比 SQL Server 更复杂。如果我们想在 Azure SQL 中实现与 SQL Server 相同的功能,则存在语法差异。

希望这可以帮助。

于 2020-04-09T10:23:59.843 回答