查询来自SQL Server和Azure DocumentDB的数据?

时间:2016-11-10 16:21:18

标签: sql-server azure azure-cosmosdb nosql

我们拥有相当庞大的SQL服务器数据库,可以跟踪电子邮件简报的订阅者(目前约有10万用户),我们正在构建一些内容,用于跟踪每个发送的简报的数据,包括每个人是否已经退回/接收/查看/点击了一封电子邮件。因此,这可能会导致统计表中有数百万行,我们正在考虑首次尝试使用Document DB。

我的问题是,是否可以同时查询SQL Server和Document DB中的数据。也许有一种方法可以直接加入,或者在c#中使用LINQ。我不是专家,但我知道你可以同时查询多个SQL服务器数据库。

主要的是我们需要能够使用其唯一的订户ID将主订阅者列表与文档数据库中保存的所有数据进行交叉引用。

2 个答案:

答案 0 :(得分:1)

SQL Server和DocumentDB是完全独立的引擎。您需要在客户端/应用服务器中构建自己的双查询代码。你如何实现这一点完全取决于你:没有“正确”的方法来做到这一点。

注意:这是“多语言持久性”的常见情况 - 在单个应用程序中混合多个存储引擎。没有灵丹妙药可以让你一起查询多个存储系统。您只需要根据需要处理每个存储系统。

这个(多数据库系统查询的想法)就是几乎任何两个不同的数据库引擎的情况。

答案 1 :(得分:0)

是的,您可以......在SSMS中链接服务器。从此处https://docs.microsoft.com/en-us/azure/cosmos-db/odbc-driver下载ODBC驱动程序。 一旦设置了ODBC驱动程序,您还可以通过Visual Studio连接并直接在那里运行查询。一切都是完全SQL(不需要C#,如果C#,使用Linqpad)

SSMS