• 查询数据库空间使用状况


    查询数据库空间使用状况

    /*-- ===================================================================

    版本: SQL Server 2000, 2005

    功能: 查询数据库空间使用状况

    =================================================================== --*/

     

    USE [要查询空间信息的库名]

    Go

     

    SELECT

        ServerName = CONVERT(sysname, SERVERPROPERTY('ServerName')),

        DatabaseID = DB_ID(),

        DatabaseName = DB_NAME(),

        DatabaseSize = CONVERT(decimal(15, 2), DB.DbSize / SPER.PageSperMB),

        DataFileSize = CONVERT(decimal(15, 2), DB.DataFileSize / SPER.PageSperMB),

        LogFileSize = CONVERT(decimal(15, 2), DB.LogFileSize / SPER.PageSperMB),

        UnAllocated = CONVERT(decimal(15, 2), (DB.DataFileSize - DATA.Reserved) / SPER.PageSperMB),

        DataReserved = CONVERT(decimal(15, 2), DATA.Reserved / SPER.PageSperMB),

        DataSize = CONVERT(decimal(15, 2), (DATA.DataSize + DATA.[TextSize]) / SPER.PageSperMB),

        IndexSize = CONVERT(decimal(15, 2), (DATA.IndexSize - DATA.DataSize - DATA.[TextSize]) /SPER.PageSperMB),

        UnUsedSize = CONVERT(decimal(15, 2), (DATA.Reserved - DATA.IndexSize) / SPER.PageSperMB),

        CountProcedure = OBJS.ProcudureS,

        CountFunction = OBJS.FunctionS,

        CountTrigger = OBJS.TriggerS,

        CountUserTable = OBJS.TableS,

        CountView = OBJS.ViewS,

        RecoveryMode = CONVERT(varchar(12), DATABASEPROPERTYEX(DB_NAME(), N'Recovery')),

        PrimaryDrive = CONVERT(char(1), (

                SELECT TOP 1 UPPER(LEFT(FileName, 1))

                FROM master.dbo.sysdatabases WITH(NOLOCK)

                WHERE dbid = DB_ID()))

    FROM(

        SELECT

            DbSize = ISNULL(SUM(CONVERT(dec(15), size)), 0),

            DataFileSize = ISNULL(SUM(CASE WHEN status & 0x40 =THEN CONVERT(dec(15), size) ELSE 0 END),0),

            LogFileSize = ISNULL(SUM(CASE WHEN status & 0x40 =THEN 0 ELSE CONVERT(dec(15), size) END),0)

        FROM dbo.sysfiles WITH (NOLOCK)

    )DB

        CROSS JOIN(

            SELECT

                Reserved = ISNULL(SUM(CASE WHEN indid IN (0, 1, 255) THEN CONVERT(dec(15), reserved) ELSEEND), 0),

                DataSize = ISNULL(SUM(CASE WHEN indid < 2 THEN CONVERT(dec(15), dpages) ELSE 0 END), 0),

                [TextSize] = ISNULL(SUM(CASE WHEN indid = 255 THEN CONVERT(dec(15), used) ELSE 0 END),0),

                IndexSize = ISNULL(SUM(CASE WHEN indid IN (0, 1, 255) THEN CONVERT(dec(15), used) ELSE 0END), 0)

            FROM dbo.sysindexes WITH(NOLOCK)

            WHERE (indid < 2 OR indid = 255)

        )DATA

        CROSS JOIN(

            SELECT PageSperMB = 1048576. / low

            FROM master.dbo.spt_values

            WHERE number = 1

                    AND type = 'E'

        )SPER

        CROSS JOIN(

            SELECT

                TableS = SUM(CASE xtype WHEN 'U' THEN 1 ELSE 0 END),

                ProcudureS = SUM(CASE xtype WHEN 'P' THEN 1 ELSE 0 END),

                ViewS = SUM(CASE xtype WHEN 'V' THEN 1 ELSE 0 END),

                TriggerS = SUM(CASE xtype WHEN 'TR' THEN 1 ELSE 0 END),

                FunctionS = SUM(CASE WHEN xtype IN('FN', 'IF', 'TF') THEN 1 ELSE 0 END)

            FROM dbo.sysobjects

        )OBJS

    GO

  • 相关阅读:
    记一次模型调试问题:使用TextLSTM/RNN学习不动,损失和acc均无变化
    机器学习常用损失函数
    java多线程使用mdc追踪日志
    搜索笔记整理
    pytorch加载bert模型报错
    Transformer源代码解释之PyTorch篇
    matplotlib画图并设置风格
    PyTorch实现断点继续训练
    通过sklearn使用tf-idf提取英文关键词
    通过依存关系生成邻接矩阵
  • 原文地址:https://www.cnblogs.com/accumulater/p/6101141.html
Copyright © 2020-2023  润新知