sys.dm_db_file_space_usage (Transact-SQL)sys.dm_db_file_space_usage (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Devuelve información de uso del espacio para cada fila de la base de datos.Returns space usage information for each file in the database.

Nota

Al llamarlo desde Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse o Almacenamiento de datos paralelosParallel Data Warehouse, use el nombre sys.dm_pdw_nodes_db_file_space_usage.To call this from Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse or Almacenamiento de datos paralelosParallel Data Warehouse, use the name sys.dm_pdw_nodes_db_file_space_usage.

Nombre de columnaColumn name Tipo de datosData type DescripciónDescription
database_iddatabase_id smallintsmallint Id. de la base de datos.Database ID.
file_idfile_id smallintsmallint Identificador de archivo.File ID.

file_ID se asigna a file_id en sys.dm_io_virtual_file_stats y a fileid en sys.sysfiles.file_id maps to file_id in sys.dm_io_virtual_file_stats and to fileid in sys.sysfiles.
filegroup_idfilegroup_id smallintsmallint Se aplica a: desde SQL Server 2012 (11.x)SQL Server 2012 (11.x) hasta SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Identificador de grupo de archivosFilegroup ID.
total_page_counttotal_page_count bigintbigint Se aplica a: desde SQL Server 2012 (11.x)SQL Server 2012 (11.x) hasta SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Número total de páginas del archivo.Total number of pages in the file.
allocated_extent_page_countallocated_extent_page_count bigintbigint Se aplica a: desde SQL Server 2012 (11.x)SQL Server 2012 (11.x) hasta SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Número total de páginas de las extensiones asignadas en el archivo.Total number of pages in the allocated extents in the file.
unallocated_extent_page_countunallocated_extent_page_count bigintbigint Número total de páginas en las extensiones no asignadas en el archivo.Total number of pages in the unallocated extents in the file.

No se incluyen las páginas no utilizadas en extensiones asignadas.Unused pages in allocated extents are not included.
version_store_reserved_page_countversion_store_reserved_page_count bigintbigint Número total de páginas en las extensiones uniformes asignadas para el almacén de versiones.Total number of pages in the uniform extents allocated for the version store. Las páginas de almacén de la versión nunca se asignan desde extensiones mixtas.Version store pages are never allocated from mixed extents.

No se incluyen las páginas IAM porque siempre se asignan desde extensiones mixtas.IAM pages are not included, because they are always allocated from mixed extents. Se incluyen las páginas PFS si están asignadas desde una extensión uniforme.PFS pages are included if they are allocated from a uniform extent.

Para obtener más información, consulte sys.dm_tran_version_store (Transact-SQL).For more information, see sys.dm_tran_version_store (Transact-SQL).
user_object_reserved_page_countuser_object_reserved_page_count bigintbigint Número total de páginas asignadas desde extensiones uniformes para objetos de usuario en la base de datos.Total number of pages allocated from uniform extents for user objects in the database. En el recuento se incluyen las páginas no utilizadas de una extensión asignada.Unused pages from an allocated extent are included in the count.

No se incluyen las páginas IAM porque siempre se asignan desde extensiones mixtas.IAM pages are not included, because they are always allocated from mixed extents. Se incluyen las páginas PFS si están asignadas desde una extensión uniforme.PFS pages are included if they are allocated from a uniform extent.

Puede usar la columna total_pages de la sys.allocation_units para devolver el recuento de páginas reservadas de cada unidad de asignación en el objeto de usuario de la vista de catálogo.You can use the total_pages column in the sys.allocation_units catalog view to return the reserved page count of each allocation unit in the user object. No obstante, tenga en cuenta que la columna total_pages incluye las páginas IAM.However, note that the total_pages column includes IAM pages.
internal_object_reserved_page_countinternal_object_reserved_page_count bigintbigint Número total de páginas en extensiones uniformes asignadas para objetos internos en el archivo.Total number of pages in uniform extents allocated for internal objects in the file. En el recuento se incluyen las páginas no utilizadas de una extensión asignada.Unused pages from an allocated extent are included in the count.

No se incluyen las páginas IAM porque siempre se asignan desde extensiones mixtas.IAM pages are not included, because they are always allocated from mixed extents. Se incluyen las páginas PFS si están asignadas desde una extensión uniforme.PFS pages are included if they are allocated from a uniform extent.

No existe ninguna vista de catálogo ni objeto de administración dinámica que devuelva el recuento de páginas de cada objeto interno.There is no catalog view or dynamic management object that returns the page count of each internal object.
mixed_extent_page_countmixed_extent_page_count bigintbigint Número total de páginas asignadas y no asignadas en extensiones mixtas asignadas en el archivo.Total number of allocated and unallocated pages in allocated mixed extents in the file. Las extensiones mixtas contienen páginas asignadas a diferentes objetos.Mixed extents contain pages allocated to different objects. Este recuento no incluye todas las páginas IAM del archivo.This count does include all the IAM pages in the file.
modified_extent_page_countmodified_extent_page_count bigintbigint Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 a SQL Server 2017SQL Server 2017.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 through SQL Server 2017SQL Server 2017.

Número total de páginas modificadas en asigna las extensiones del archivo desde la última copia de seguridad de base de datos completa.Total number of pages modified in allocated extents of the file since last full database backup. El número de páginas modificadas puede utilizarse para realizar un seguimiento de la cantidad de los cambios diferenciales en la base de datos desde la última copia de seguridad completa, para decidir si es necesaria la copia de seguridad diferencial.The modified page count can be used to track amount of differential changes in the database since last full backup, to decide if differential backup is needed.
pdw_node_idpdw_node_id intint Se aplica a: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data WarehouseApplies to: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data Warehouse

El identificador para el nodo en esta distribución.The identifier for the node that this distribution is on.
distribution_iddistribution_id intint Se aplica a: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data WarehouseApplies to: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data Warehouse

El identificador numérico único asociado con la distribución.The unique numeric id associated with the distribution.

ComentariosRemarks

Los recuentos de páginas siempre son en el nivel de extensión.Page counts are always at the extent level. Por tanto, los valores de recuento de páginas siempre serán un múltiplo de ocho.Therefore, page count values will always be a multiple of eight. Las extensiones que contienen páginas de asignación del Mapa de asignación global (GAM) y del Mapa de asignación global compartido (SGAM) se asignan a extensiones uniformes.The extents that contain Global Allocation Map (GAM) and Shared Global Allocation Map (SGAM) allocation pages are allocated uniform extents. No se incluyen en los recuentos de páginas descritos anteriormente.They are not included in the previously described page counts. Para obtener más información sobre las páginas y extensiones, consulte páginas y extensiones Architecture Guide.For more information about pages and extents, see Pages and Extents Architecture Guide.

El contenido del almacén de versión actual está en sys.dm_tran_version_store.The content of the current version store is in sys.dm_tran_version_store. El seguimiento de las páginas del almacén de la versión se realiza en el nivel de archivo en vez de en el nivel de sesión y tarea porque son recursos globales.Version store pages are tracked at the file level instead of the session and task level, because they are global resources. Una sesión puede generar versiones, pero las versiones no pueden quitarse cuando finaliza la sesión.A session may generate versions, but the versions cannot be removed when the session ends. Debe tenerse en cuenta una limpieza del almacén de versiones cuando se tengan que ejecutar transacciones prolongadas que necesiten acceso a la versión determinada.Version store cleanup must consider the longest running transaction that needs access to the particular version. Las transacciones de ejecución prolongada relacionadas con la versión limpieza del almacén se pueden detectar mediante la visualización de la columna elapsed_time_seconds en sys.dm_tran_active_snapshot_database_transactions.The longest running transaction related to version store clean-up can be discovered by viewing the elapsed_time_seconds column in sys.dm_tran_active_snapshot_database_transactions.

Los cambios frecuentes en la columna mixed_extent_page_count pueden indicar un uso exhaustivo de páginas SGAM.Frequent changes in the mixed_extent_page_count column may indicate heavy use of SGAM pages. Cuando ocurre esto, puede ver muchas esperas de PAGELATCH_UP en las que el recurso esperado es una página SGAM.When this occurs, you may see many PAGELATCH_UP waits in which the wait resource is an SGAM page. Para obtener más información, consulte sys.dm_os_waiting_tasks (Transact-SQL), sys.dm_os_wait_stats (Transact-SQL), y sys.dm_os_latch_ estadísticas (Transact-SQL).For more information, see sys.dm_os_waiting_tasks (Transact-SQL), sys.dm_os_wait_stats (Transact-SQL), and sys.dm_os_latch_stats (Transact-SQL).

Objetos de usuarioUser Objects

Los objetos siguientes se incluyen en los contadores de páginas de objetos de usuario:The following objects are included in the user object page counters:

  • Índices y tablas definidos por el usuarioUser-defined tables and indexes

  • Índices y tablas del sistemaSystem tables and indexes

  • Índices y tablas temporales globalesGlobal temporary tables and indexes

  • Índices y tablas temporales localesLocal temporary tables and indexes

  • Variables de tablaTable variables

  • Tablas devueltas en las funciones con valores de tabla.Tables returned in the table-valued functions

Objetos internosInternal Objects

Los objetos internos están solo en tempdb.Internal objects are only in tempdb. Los objetos siguientes se incluyen en los contadores de páginas de objetos internos:The following objects are included in the internal object page counters:

  • Tablas de trabajo para operaciones de cola o cursor y almacenamiento de objetos grandes (LOB) temporalesWork tables for cursor or spool operations and temporary large object (LOB) storage

  • Archivos de trabajo para operaciones como la combinación hashWork files for operations such as a hash join

  • OrdenacionesSort runs

Cardinalidades de relaciónRelationship Cardinalities

DeFrom EnTo RelaciónRelationship
sys.dm_db_file_space_usage.database_id, file_idsys.dm_db_file_space_usage.database_id, file_id sys.dm_io_virtual_file_stats.database_id, file_idsys.dm_io_virtual_file_stats.database_id, file_id Uno a unoOne-to-one

PermisosPermissions

En SQL ServerSQL Server, requiere VIEW SERVER STATE permiso.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
En SQL DatabaseSQL Database los niveles Premium, requieren el VIEW DATABASE STATE permiso en la base de datos.On SQL DatabaseSQL Database Premium Tiers, requires the VIEW DATABASE STATE permission in the database. En SQL DatabaseSQL Database niveles estándar y básico, requiere el administrador del servidor o un Administrador de Azure Active Directory cuenta.On SQL DatabaseSQL Database Standard and Basic Tiers, requires the Server admin or an Azure Active Directory admin account.

EjemplosExamples

Determinar la cantidad de espacio disponible en tempdbDeterming the Amount of Free Space in tempdb

La consulta siguiente devuelve el número total de páginas libres y el espacio libre total en megabytes (MB) están disponibles en todos los archivos de tempdb.The following query returns the total number of free pages and total free space in megabytes (MB) available in all files in tempdb.

USE tempdb;  
GO  
SELECT SUM(unallocated_extent_page_count) AS [free pages],   
(SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]  
FROM sys.dm_db_file_space_usage;  

Determinar la cantidad de espacio utilizado por objetos de usuarioDetermining the Amount of Space Used by User Objects

La consulta siguiente devuelve el número total de páginas utilizadas por los objetos de usuario y el espacio total utilizado por los objetos de usuario en tempdb.The following query returns the total number of pages used by user objects and the total space used by user objects in tempdb.

USE tempdb;  
GO  
SELECT SUM(user_object_reserved_page_count) AS [user object pages used],  
(SUM(user_object_reserved_page_count)*1.0/128) AS [user object space in MB]  
FROM sys.dm_db_file_space_usage;

Vea tambiénSee Also

Funciones y vistas de administración dinámica (Transact-SQL) Dynamic Management Views and Functions (Transact-SQL)
Vistas de administración dinámica relacionadas con la base de datos (Transact-SQL) Database Related Dynamic Management Views (Transact-SQL)
sys.dm_db_task_space_usage (Transact-SQL) sys.dm_db_task_space_usage (Transact-SQL)
sys.dm_db_session_space_usage (Transact-SQL)sys.dm_db_session_space_usage (Transact-SQL)