Ami*_*jan 7 sql-server migration linked-server azure-sql-database
我们正在将数据库从 Rackspace 迁移到 Azure。我们的数据库部署在机架空间中的虚拟机上。在我们的查询中,我们使用链接服务器到其他数据库。基本上是跨数据库查询。问题是,迁移数据库后,我们无法使用链接服务器查询,因为 Sql Azure db 不支持链接服务器。
请帮忙。
更新:
并非所有数据库都位于 Azure 中。有些数据库的所有者位于远程位置。我们需要查询在 Azure 外部运行的数据库。
Azure 中没有适用于 Sql Server 的 VM。我们在 Azure 中使用数据库即服务。
请参阅下图了解更多详情
您可以使用跨数据库查询,如此处所述。例如,要在查询中引用远程表,您需要创建一个数据源:
CREATE EXTERNAL DATA SOURCE MyExtSrc
WITH
(
TYPE=SHARD_MAP_MANAGER,
LOCATION='myserver.database.windows.net',
DATABASE_NAME='ShardMapDatabase',
CREDENTIAL= SMMUser,
SHARD_MAP_NAME='ShardMap'
);
Run Code Online (Sandbox Code Playgroud)
使用该数据源定义外部表。
CREATE EXTERNAL TABLE [dbo].[all_dm_exec_requests](
[session_id] smallint NOT NULL,
[request_id] int NOT NULL,
[start_time] datetime NOT NULL,
[status] nvarchar(30) NOT NULL,
[command] nvarchar(32) NOT NULL,
[sql_handle] varbinary(64),
[statement_start_offset] int,
[statement_end_offset] int,
[cpu_time] int NOT NULL
)
WITH
(
DATA_SOURCE = MyExtSrc,
SCHEMA_NAME = 'sys',
OBJECT_NAME = 'dm_exec_requests',
DISTRIBUTION=ROUND_ROBIN
);
Run Code Online (Sandbox Code Playgroud)
最后,在 SELECT 语句上使用外部表。
SELECT TOP 10
[request_id],
[start_time]
[status],
[command]
FROM all_dm_exec_requests
ORDER BY [cpu_time] DESC
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11520 次 |
最近记录: |