Azure sql database 如何在另一个Azure SQL中创建Azure SQL Exec或选择另一个表/过程
我有两个Azure SQL服务器,每个服务器包含一个数据库,我需要在它们之间执行SELECT或存储过程 例如: Server1.database.windows.net数据库:local1 Server2.database.windows.net数据库:remote1 在Server1中:从Server2.remote1.dbo.Orders中选择*,此查询返回订单列表 在Server2中:Exec Server1.local1.dbo.ProcedureOrders,这将在Server1中执行一个存储过程 首先,这可能吗?如果是,如何查询?您可以使用它跨不同逻辑服务器中的不同数据库查询表,即使它们属于不同的订阅。你可以找到并举例说明Azure sql database 如何在另一个Azure SQL中创建Azure SQL Exec或选择另一个表/过程,azure-sql-database,azure-sql-server,Azure Sql Database,Azure Sql Server,我有两个Azure SQL服务器,每个服务器包含一个数据库,我需要在它们之间执行SELECT或存储过程 例如: Server1.database.windows.net数据库:local1 Server2.database.windows.net数据库:remote1 在Server1中:从Server2.remote1.dbo.Orders中选择*,此查询返回订单列表 在Server2中:Exec Server1.local1.dbo.ProcedureOrders,这将在Server1中执行
您还可以在不同的逻辑服务器上跨数据库运行事务,如本文所述。是的,这是可能的。Azure sql数据库不支持链接服务器,但如@Alberto Morillo所述,它可以帮助您在其他sql服务器中查询和执行存储过程 对于远程表查询,以下是步骤: 创建数据库范围的主密钥和凭据: 通过密码创建主密钥加密='MASTER_KEY_PASSWORD';使用IDENTITY=,SECRET=[;]创建数据库范围的凭据 创建外部数据源: :=创建类型为RDBMS、位置为“”、数据库名称为“”、凭据为[]的外部数据源 外部表格: 创建外部表[database_name.[schema_name]。| schema_name.]TABLE_name{}[,…n]{WITH}[;] ::=数据源=,[SCHEMA\u NAME=N'nonescaped\u SCHEMA\u NAME',][OBJECT\u NAME=N'nonescaped\u OBJECT\u NAME',] 对于执行远程存储过程: 弹性查询还引入了一个存储过程,提供对远程数据库的直接访问。该存储过程称为sp_execute_remote,可用于在远程数据库上执行远程存储过程或T-SQL代码 例如:
EXEC sp_execute_remote
N'MyExtSrc',
N'select count(w_id) as foo from warehouse'
有关更多详细信息,请参考:
希望这有帮助。如果我的答案对您有帮助,希望您能将其标记为答案。这可能对其他社区成员有益。谢谢,太棒了!感谢您的高度解释性回复!