azure - 在 Azure SQL 中查询来自不同服务器的表

标签 azure azure-sql-database linked-server azure-sql-server

我想了解是否有一种方法可以编写包含来自不同服务器(env)的列的存储过程。我想编写一个存储过程来验证一个过程,以检查测试环境和生产环境之间的记录计数之间的差异。

TIA

最佳答案

要查询不同sql server的Azure DB,Elastic query可以使用。

  • 在此重现中,创建了两个 SQL 服务器。一个用于测试,另一个用于生产。 enter image description here

  • 然后,表被添加到两个数据库中。两者的表名相同。 enter image description here

  • 使用以下代码并根据要求更改配置。

CREATE MASTER KEY; -- create master key
GO
 
-- credential maps to a login or contained user used to connect to remote database 
CREATE DATABASE SCOPED CREDENTIAL CrossDbCred1 -- credential name
WITH IDENTITY = 'username',                    -- login or contained user name
SECRET = '**********';                    -- login or contained user password
GO
 
-- data source to remote Azure SQL Database server and database
CREATE EXTERNAL DATA SOURCE source
WITH
(
    TYPE=RDBMS,                           -- data source type
    LOCATION='server.database.windows.net', -- Azure SQL Database server name
    DATABASE_NAME='database1',         -- database name
    CREDENTIAL=CrossDbCred1                -- credential used to connect to server / database  
);
GO
 
-- external table points to table in an external database with the identical structure
CREATE EXTERNAL TABLE [dbo].[ext_src]
(
    [Id] [int]
)
WITH (DATA_SOURCE = [source],  -- data source 
      SCHEMA_NAME = 'dbo',           -- external table schema
      OBJECT_NAME = 'source'       -- name of table in external database
    );
GO
  • 此演示给出了用于比较表之间计数的 SQL 查询。 enter image description here

同样,我们可以编写存储过程来比较计数。

关于azure - 在 Azure SQL 中查询来自不同服务器的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74269191/

相关文章:

web-services - Azure 应用服务的可用性警报

azure - 将静态 IP 关联到 Azure SQL 服务器/数据库

SQL Server 存储过程在本地如此之快,在 Azure 中如此之久

c# - 以编程方式连接链接服务器 C#

mysql - 如何使用链接的 MySql 服务器更新 SQL 服务器中的行

asp.net-mvc - 将静态网站从 Azure 存储帐户添加到 Asp.net MVC 应用程序?

sql-server - Azure SQL 数据库架构的访问控制权限

SQL Azure 数据不写入?

mysql - 如果连接到 Azure 的 Excel 工具保存在 OneDrive 上,我的团队是否必须连接到 ODBC?

.net - .NET 程序中的分布式事务(MS-DTC 配置?!?)还是通过链接服务器在存储过程中?