我在同一个SQL Azure服务器上有2个数据库,并且我在这两个数据库上都有相同的表(TB1),现在我想从DB2的TB1读取数据并将数据插入TB1 DB1。 我使用下面的查询,但得到的错误。无法在SQL Azure中执行跨数据库查询
insert into TB1 select 1,* from [DB2].dbo.TB1
错误消息
消息40515,级别15,状态1,第16行
参考 'DB2.dbo.TB1' 数据库和/或服务器名称不支持这个版本的SQL Server。
我在同一个SQL Azure服务器上有2个数据库,并且我在这两个数据库上都有相同的表(TB1),现在我想从DB2的TB1读取数据并将数据插入TB1 DB1。 我使用下面的查询,但得到的错误。无法在SQL Azure中执行跨数据库查询
insert into TB1 select 1,* from [DB2].dbo.TB1
错误消息
消息40515,级别15,状态1,第16行
参考 'DB2.dbo.TB1' 数据库和/或服务器名称不支持这个版本的SQL Server。
您可以使用SQL Azure上的弹性查询功能执行跨数据库查询。
您将不得不创建一个外部数据源和一个外部表,以便能够查询其他SQL Azure数据库上的表。 This文章展示了如何做到这一点。
希望这会有所帮助。
是的,你可以使用弹性查询功能的SQL Azure.It的您可以执行跨数据库查询的唯一途径。
下面是详细的查询遵循:
运行下面的查询您的DB1(既然你说喜欢看从DB2的TB1,并将这些数据的到您的TB2在DB1)
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'STro*ngPaSSe0rD';
CREATE DATABASE SCOPED CREDENTIAL Login
WITH IDENTITY = 'Login',
SECRET = 'STro*ngPaSSe0rD';
CREATE EXTERNAL DATA SOURCE RemoteReferenceData
WITH
(
TYPE=RDBMS,
LOCATION='myserver.database.windows.net',
DATABASE_NAME='DB2',
CREDENTIAL= Login
);
CREATE EXTERNAL TABLE [dbo].[TB1]
(
[Columns] [DataTypes]
)
WITH (DATA_SOURCE = [RemoteReferenceData])
这些步骤后,就可以查询外部表像普通表。尽管有一些限制,同时使用外部表,就像你能不能插入数据的成外部表(参考表)
试图做到这一点...在Azure上的SQL,它似乎并不喜欢的语法。 许多错误,首先是“附近有语法错误‘身份’” –
跨数据库查询不会在蔚蓝的SQL支持,尽量弹性查询 – TheGameiswar
使用Azure Data Factory在Azure中将数据从一个地方移动到另一个地方。 – wBob