Azure SQL数据仓库上的数据库类型

时间:2015-10-29 23:40:04

标签: sql azure azure-sqldw azure-sql-database

有没有办法查看目录数据以确定数据库是否是Azure SQL数据仓库数据库?

例如,我有一个我通过Azure创建的初始数据库,但是我发现我可以在此Azure SQL数据仓库数据库中创建另一个数据库,而无需指定EDITION或SERVICE_OBJECTIVE。

我假设这是一个逻辑Azure SQL数据库,如master,但它不是系统数据库,所以我希望能够确定我连接到的数据库的“类型”。到目前为止,我只是想看看是否存在特定的pdw_视图,但我认为可能有更好的方法。

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

注意:以下建议适用于发布时间。此行为将来可能会发生变化。

今天没有一种直截了当的方法。我已经添加了一个功能请求,用于通过TSQL发现服务目标的方法。作为快捷方式,您可以运行以下命令:

SELECT
    name,
    recovery_model,
    recovery_model_desc
FROM
    sys.databases
WHERE
    name = DB_NAME();

如果recovery_model = 3(SIMPLE),则这是一个SQL数据仓库数据库。如果recovery_model = 1(FULL),则这是一个SQL数据库。

2016年5月更新:

如果您连接到Azure SQL DW数据库,以下查询将返回DataWarehouse:

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Edition') As Edition

更新#2: 您可以查询sys.database_service_objectives DMV以获取此信息:

SELECT
 db.[name] AS [Name],
 ds.[edition] AS [Edition],
 ds.[service_objective] AS [ServiceObject]
FROM
 sys.database_service_objectives ds
 JOIN sys.databases db ON ds.database_id = db.database_id