sql - 是否可以基于不同服务器中的表创建视图?
问题描述
我的客户有一个 azure service app MyServiceApp
,它的数据库被称为MyCloudServer
(它的数据来自一个 legacy MyPremiseServer
)。
这MyPremiseServer
是位于我客户站点上的服务器,因为云的服务应用程序MyServiceApp
无法访问它,他们MyCloudServer
使用完全相同的方案创建了MyPremiseServer
.
为了使MyCloudServer
保存相同的数据MyPremiseServer
,他们开发了一个定期 .net 服务,它MyCopyService
只需将每个数据批量复制MyPremiseServer
到进入对应的视图,其中有两个数据库:和(复制过程告诉应用服务停止使用,并在复制过程进行时开始使用,删除每个表中的旧数据,从对应表中批量复制它在最后告诉应用服务它可以再次开始使用而不是 )。MyCloudServer
MyPremiseServer
MyCloudServer
MyDb
MyDbMirror
MyDb
MyDbMirror
MyPremiseServer
MyDb
MyDbMirror
复制整个过程每小时执行一次,这导致应用服务数据使用未完全更新的数据(从上一小时开始),并且复制过程花费了我很多精力来维护,所以我的问题是:是否MyCloudServer
可以基于位于MyPremiseServer
(不同服务器)中的视图创建视图?
我确定可以查询另一个数据库中的表,例如:
USE [DatabaseA]
CREATE VIEW [dbo].[MyView]
AS
SELECT DatabaseB.dbo.Events.*
FROM DatabaseB.dbo.Events
GO
解决方案
不能在 Azure SQL 中创建链接服务器。
您可以使用以下方法在本地服务器和 Azure SQL 之间同步数据:
- SQL 数据同步
- Azure 数据工厂管道
- 在其中创建链接服务器并作为常规作业
MyPremisesServer
合并到在本地创建链接服务器MyCloudServer
推荐阅读
- jquery - jQuery 'blur' 事件不适用于文件字段
- php - 在while循环中插入数据库的PHP问题
- reactjs - 无法下载反应网页
- c++ - 带有嵌套多态模板的 c++ 动态转换
- firebase - Flutter 中从 Firestore 查询单个文档(cloud_firestore 插件)
- ios - 将值从嵌入式视图控制器传递到 Homecontroller
- ionic-framework - ionic 3 pdfmake 在移动设备中不起作用
- reactjs - react native 的领域不在调试模式下工作
- jquery - jquery calendar 停止在桌面上工作,但在移动设备上工作
- ios - Mapbox 在选择 pin i IOS 时更改 MGLAnnotation 图像