有句谚语说:“ 没有什么不可能”,所以很好奇,我们知道如何在Azure SQL数据库中获得与单击即可在本地运行的功能相同的功能?
内部部署,
单击执行, 在“ USE ”命令的帮助下,我们实际上查询了不同数据库中的内容。 例如
USE db_name1;
SELECT DB_NAME();
GO
USE db_name2;
SELECT DB_NAME();
GO
借助于 Query-> SQLCMD模式 ,我们实际上甚至在不同的服务器和数据库中查询事物。 例如
:CONNECT server_name1
USE db_name1;
SELECT @@SERVERNAME;
GO
:CONNECT server_name2
USE db_name2;
SELECT @@SERVERNAME;
GO
注意-例如,我提到了一些数据库和服务器名称功能。实际上,将查询表以获取必需的信息。
因为,“ USE”命令在Azure SQL数据库中不起作用。 如何在Azure SQL数据库中实现相同目标-只需单击一下即可完成?
答案 0 :(得分:0)
总结如下答案
现在,Azure SOL数据库不支持USE
语句。有关更多详细信息,请参阅document。此外,如果您希望Azure SQL数据库团队添加该功能,则可以对feedback进行投票。
因此,如果要执行跨数据库查询,则可以使用Azure SQL Database elastic query。
例如
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>';
CREATE DATABASE SCOPED CREDENTIAL ElasticQueryCred
WITH IDENTITY = '<username>',
SECRET = '<password>';
CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
(TYPE = RDBMS,
LOCATION = '<server_name>.database.windows.net',
DATABASE_NAME = '<>',
CREDENTIAL = ElasticQueryCred,
) ;
CREATE EXTERNAL TABLE [dbo].[CustomerInformation]
(
)
WITH
( DATA_SOURCE = MyElasticDBQueryDataSrc)
此外,正如@Larnu所说,您还可以将SQL Server托管在Azure VM上以实现您的需求。