方法 1、 sys.dm_db_file_space_usage。

方法 2、 sys.dm_db_session_space_usage。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

方法 1 、

sys_dm_db_file_space_usage 它度量方式是以页(page)为单位的,对每个数据库的不同文件都返回一行(不包涵 log 文件)

用它是时候先要 use 到指定的数据库才行。它不会返回当前实例中的所有数据库的信息,针对当前数据库。

total_page_count :总页面数

allocated_extent_page_count :文件的已分配区中的总页数 。

unallocated_extent_page_count:文件的未分配区中的总页数。

user_object_reserved_page_count:从统一区为数据库中的用户对象分配的总页数。 计数中包括已分配区中未使用的页。

internal_object_reserved_page_count:从统一区为文件中的内部对象分配的总页数。

mixed_extent_page_count :文件的已分配混合区中的已分配和未分配总页数。

例子、

select
          DB_NAME(usage.database_id) as DBName,
          sum(usage.unallocated_extent_page_count) as UnallocatedPage,
          sum(usage.allocated_extent_page_count) as AllocatedPage,
          sum(usage.internal_object_reserved_page_count)as InternalPage,
          sum(usage.user_object_reserved_page_count) as UserObjectPage,
          sum(usage.mixed_extent_page_count) as MixedPage from sys.dm_db_file_space_usage as usage
          group by usage.database_id
          go

方法 2、

sys.dm_db_session_space_usage 返回每个会话为数据库分配和释放的页数、它只是针对tempdb空间使用情况,别的数据库看不了

user_objects_alloc_page_count:由该会话为用户对象保留或分配的页数。

user_objects_dealloc_page_count:由该会话释放并不再为用户对象保留的页数。 

internal_objects_alloc_page_count:由该会话为内部对象保留或分配的页数。

internal_objects_dealloc_page_count:由该会话释放并不再为内部对象保留的页数。

例子、

select
           DB_NAME(usage.database_id) as DBName,
           usage.session_id,
           usage.user_objects_alloc_page_count,
           usage.user_objects_dealloc_page_count,
           usage.internal_objects_alloc_page_count,
           usage.internal_objects_dealloc_page_count
           from sys.dm_db_session_space_usage usage;
           go

小结:

sys.dm_db_session_usage 只针对 tempdb。

SQL Server 查看数据库空间分配情况的 2 种方法的更多相关文章

  1. SQL Server 查看空间使用情况的 5 种方法

    解决方法: 方法 1.sp_spaceused 方法 2.dbcc sqlperf 方法 3.dbcc showfilestats 方法 4.dbcc showcontig 方法 5.sys.dm_d ...

  2. SQL Server查询数据库空间分配情况、数据库备份信息

    查询数据库空间分配情况: use master go create procedure dbo.proc_getdbspaceused as begin set nocount on create t ...

  3. SQL Server 查看备份集元数据的 4 种方法。

    方法 1. restore labelonly 方法 2. restore headeronly 方法 3. restore filelistonly 方法 4. restore verifyonly ...

  4. SQL SERVER 查看数据库安装时间

    --通过name为NT AUTHORITY\SYSTEM的登录账号的create_date,就知道SQL Server的安装日期了. SELECT * FROM SYS.SERVER_PRINCIPA ...

  5. SQL SERVER 查看数据库信息

    a.使用sys.database_files查看有关数据库文件的信息 b.使用sys.filegroups查看有关数据库组的信息. c.使用sys.master_files 查看数据库文件的基本信息和 ...

  6. SQL Server 查看数据库在数据缓存(data cache)中占用的空间大小

    use master go select * from sys.dm_os_buffer_descriptors go --查看数据库在数据缓存(data cache)中占用的空间大小 --由于每个数 ...

  7. SQL Server遍历表中记录的2种方法

    SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录.本文将介绍利用使用表变量和游标实现数据库中表的遍历. 表变量来实现表 ...

  8. sql server 查看数据库编码格式

    user masterselect SERVERPROPERTY(N'edition') as Edition --数据版本,如企业版.开发版等,SERVERPROPERTY(N'collation' ...

  9. SQL Server 查看数据库是否存在阻塞

    CREATE procedure [dbo].[sp_who_lock] as begin declare @spid int,@bl int, @intTransactionCountOnEntry ...

随机推荐

  1. shell练习--用户下载交互检测

    #!/bin/bash #By spinestars #-- read -p "请输入下载目录路径" down_dir read -p "请输入网址路径" ur ...

  2. SQL触发器学习

      简介 触发器是一种特殊类型的存储过程.触发器分为: DML( 数据操纵语言 Data Manipulation Language)触发器:数据库中表或视图的数据更改时触发,包括insert,upd ...

  3. WPF笔记(2.7 文字布局)——Layout

    原文:WPF笔记(2.7 文字布局)--Layout 这一节介绍的是文字布局的几个控件:1.TextBlock      最基本的文字控件可以配置5个Font属性.TextWraping属性,&quo ...

  4. 线程初步了解 - <第一篇>

    操作系统通过线程对程序的执行进行管理,当操作系统运行一个程序的时候,首先,操作系统将为这个准备运行的程序分配一个进程,以管理这个程序所需要的各种资源.在这些资源之中,会包含一个称为主线程的线程数据结构 ...

  5. JNI与JNA性能比较

    JNI与JNA性能比较 在介绍JNA时,提到了JNA是基于JNI的,是在JNI上封装了一层,JNI性能不如JNA.最近在网上看到篇简单的比较这两者性能的文档,感觉不错,现转载一下: 分别用JNI和JN ...

  6. ActionForward

    一.只有登录才能显示的页面 这是一个很平常的问题,在访问某些网页的时候,只有登录才可以访问,以此保证安全. 实现原理也很简单,就是将一个属性设置在session中.在访问的时候进行判断即可. 例:re ...

  7. Dice Notation(模拟)

    Dice Notation Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit  ...

  8. Unity之极光推送

    Android应用中大多数应用使用了推送,游戏中当然也可以使用推送!下面在Unity3D做个测试!(下面是客套话,大家可以忽略) 1.1 什么是推送技术? 推送技术,又名反向AJAX,指的是一种基于I ...

  9. android 硬件解码学习

    FileInputStream in = new FileInputStream("/sdcard/sample.ts"); String mimeType = "vid ...

  10. C# LiNq的语法以及常用的扩展方法

    首先先来扯一下,这篇博文是我第一次写的,主要是我的一些摘录,希望对大家有所帮助. Linq的基础 •LINQ(读音link):Linq To SQL(过时).Linq To Object.Linq T ...