sql-server - Azure 跨数据库查询、外部资源、外部表
问题描述
我正在将我的所有VM Sql Server 2012
数据库迁移到Azure Sql Database。在我当前的结构中,我使用跨数据库查询从不同的数据库表中获取数据。
我已经使用以下查询为我的父表创建了外部表
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'yourPassword';
CREATE DATABASE SCOPED CREDENTIAL yourServeradminlogin
WITH IDENTITY = 'yourServeradminlogin',
SECRET = 'yourPassword';
CREATE EXTERNAL DATA SOURCE RefmyDemoDB2
WITH
(
TYPE=RDBMS,
LOCATION='testdbdemoserver.database.windows.net',
DATABASE_NAME='myDemoDB2',
CREDENTIAL= yourServeradminlogin
);
CREATE EXTERNAL TABLE [dbo].[Department](
[DeptId] [int] NOT NULL,
[Name] [varchar](50) NULL
)
WITH
(
DATA_SOURCE = RefmyDemoDB2
);
/****** Script for SelectTopNRows command from SSMS ******/
SELECT *
FROM [dbo].[Employee] E
INNER JOIN [dbo].[Department] D
ON E.DeptId = D.DeptId
我提到了这个链接https://www.c-sharpcorner.com/article/cross-database-queries-in-azure-sql/
但是当我创建外部表时,它不会在外部表文件夹中显示表,如下图所示。
在我的情况下,它直接显示在Tables文件夹中。
有人知道为什么我在文件夹中看不到部门表吗?
External Tables
如何在External Tables
文件夹中添加此类表?
解决方案
Azure SQL 中提供的外部表仅用于支持称为“弹性查询”的功能,它可以解决您的问题:
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-query-overview
如果这对您来说还不够,并且您确实需要完整的跨数据库查询支持,则必须使用 Azure SQL 托管实例:
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance
这似乎正是您所需要的。
推荐阅读
- list - Handlebars 中的自定义 javascripts 列表需要 #each - 但是如何?
- json - ORA-01704: 在 SQL 和 PL/SQL 中使用 JSON_Table 时字符串文字太长
- heroku - 通过 cloudflare 从 godaddy 到 heroku 的点站点
- angularjs - 如何在提交按钮中强制控制非强制性
- javascript - 如何在单击按钮时关注子元素组件?
- c# - 当我的源是 DataReader 时,如何指定在表值参数中使用服务器定义的值?
- php - CodeIgniter 项目从本地服务器迁移到 googlecloud
- android - 如何在谷歌开发者控制台中查看项目启用的 API?
- php - 使用 curl php 从嵌套的 JSON 数据中获取数据
- jquery - 如何将json渲染到jquery