为啥 SQL Server 2019 与 Azure SQL 数据库中的外部表语法不同? `
Posted
技术标签:
【中文标题】为啥 SQL Server 2019 与 Azure SQL 数据库中的外部表语法不同? `【英文标题】:Why is External Table syntax different in SQL Server 2019 vs Azure SQL Database? `为什么 SQL Server 2019 与 Azure SQL 数据库中的外部表语法不同? ` 【发布时间】:2020-07-21 19:05:23 【问题描述】:我必须在 SQL Server 2019 和 Azure SQL 中执行跨数据库查询。我能够在两个数据库中创建外部数据源和外部表,但是语法似乎不同。如果有一个标准脚本可以在这两种情况下工作,有人可以指导我吗?
Azure SQL 数据库
外部数据源
创建外部数据源 SQLServerInstance2
与(
TYPE=RDBMS,
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
与 ( 位置 = 'sqlserver://WINSQL2019:58137' , CREDENTIAL = SQLServerCredentials ) ;
外部表
创建外部表 [dbo].[SourceTable] ( Col1 INT NULL, Col2 INT NULL )
WITH (DATA_SOURCE = [SQLServerInstance2],LOCATION = N'[SourceDB].[dbo].[SourceTable]')
【问题讨论】:
嗨,Shubham Carg,如果我的回答对您有帮助,您可以将其标记为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢。 【参考方案1】:Azure SQL SQL 数据库是一个云数据库。 Azure SQL 数据库是一个完全托管的平台即服务 (PaaS) 数据库引擎
即使它与 SQL Server 的功能几乎相同,但仍有许多不同。
它们在不同的平台上运行,这就是语法可能不同的原因。
请参考此文档获取Transact-SQL differences between Azure SQL Database and SQL Server。
Azure SQL 数据库中的跨数据库查询比 SQL Server 更复杂。如果我们想在 Azure SQL 中实现与 SQL Server 相同的功能,则存在语法差异。
希望这会有所帮助。
【讨论】:
以上是关于为啥 SQL Server 2019 与 Azure SQL 数据库中的外部表语法不同? `的主要内容,如果未能解决你的问题,请参考以下文章
为啥在建立与 SQL Server 的连接时会发生与网络相关或特定于实例的错误?
为啥此相关子查询在 Oracle 和 SQL Server 中的工作方式不同
sql server 中创建架构,架构是干啥用的,为啥要创建架构,有啥好处?
BIT 和 Boolean 有啥区别,为啥我们可以在 SQL Server 2017 中使用 Boolean [重复]
将本地 SQL Server 数据库同步到 Azure Windows Server SQL Server 的最佳方式是啥