gpt4 book ai didi

sql-server - 使用 Azure 特定功能时在本地运行 SQL Server 数据库吗?

转载 作者:行者123 更新时间:2023-12-03 16:29:40 37 4
gpt4 key购买 nike

我正在考虑将使用本地 SQL Server 的项目迁移到 SQL Azure。该数据库具有跨数据库依赖关系,其中某些 View 引用同一服务器上的另一个数据库,而 SQL Azure 不支持这种情况。

我已成功修改它们以使用外部表,这些外部表使用使用以下内容创建的外部数据源:

CREATE EXTERNAL DATA SOURCE [MyExternalDataSource] WITH
(
TYPE = RDBMS,
LOCATION = 'SqlServerName',
DATABASE_NAME = 'SqlServerDatabaseName',
CREDENTIAL = cred
);

但是,此类数据源使用的 RDBMS 类型似乎仅受 SQL Azure 支持,而不受本地 SQL Server 支持。针对前者运行此脚本可以正常工作,而后者会导致引发以下错误:

Incorrect syntax near 'RDBMS'

因此,这意味着解决方案中的数据库项目不能同时用于面向 Azure SQL 和本地 SQL Server 安装。

作为解决方法,我正在考虑以下选项,尽管每个选项都有其缺点:

  1. 解决方案中有多个数据库项目,其中一个针对 SQL Azure,另一个针对 SQL Server - 尽管这意味着将所有数据库更新复制到这两个项目。

  2. 不再使用外部表,而是使用 Azure 提供的数据同步功能,并复制两个数据库中的表和数据(无需使用导致问题的外部数据源) - 尽管这有一个问题至少 5 分钟延迟(在这种特定情况下可能可以接受,但肯定不适合所有人)

其他开发人员如何处理这种场景:您的项目需要使用 SQL Azure 特定功能,但您还需要能够运行数据库的本地副本进行开发?

最佳答案

您可以尝试创建3个项目:
1. 项目仅包含定义为 View 的 Azure 特定引用。
2. 项目仅包含定义为 View 的 SQL Server 特定引用。 View 的结构应该相同。
3. 你的主要项目。在此项目中,您将引用之前的项目之一作为“复合项目”引用。
https://learn.microsoft.com/en-us/sql/ssdt/add-database-reference-dialog-box?view=sql-server-2017

关于sql-server - 使用 Azure 特定功能时在本地运行 SQL Server 数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56153535/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com