【问题标题】:Type of Databases on Azure SQL Data WarehouseAzure SQL 数据仓库上的数据库类型
【发布时间】:2015-10-29 23:40:04
【问题描述】:

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

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

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

感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

    注意:以下建议在发布时有效。这种行为将来可能会发生变化。

    今天没有直接的方法可以做到这一点。我添加了一个功能请求,以通过 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
    

    【讨论】:

    • 请注意,如果您连接到 Azure SQL 数据仓库服务器上的 master 数据库,这将返回 System 而不是 DataWarehouse
    猜你喜欢
    • 1970-01-01
    • 2016-06-30
    • 2017-06-28
    • 2016-10-26
    • 2021-03-04
    • 2019-12-16
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    相关资源
    最近更新 更多