注意:以下建议在发布时有效。这种行为将来可能会发生变化。
今天没有直接的方法可以做到这一点。我添加了一个功能请求,以通过 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