sys.dm_os_job_object(Azure SQL 数据库)
适用于:Azure SQL 数据库 Azure SQL 托管实例
返回一行,描述用于管理 SQL Server 进程的作业对象的配置,以及作业对象级别的某些资源消耗统计信息。 如果 SQL Server 未在作业对象中运行,则返回一个空集。
作业对象是一种 Windows 构造,用于在操作系统级别实现 CPU、内存和 IO 资源治理。 有关作业对象的详细信息,请参阅 作业对象。
列数 | 数据类型 | 描述 |
---|---|---|
cpu_rate | int | 指定 SQL Server 线程在每个计划间隔期间可以使用的处理器周期部分。 该值报告为 10000 周期计划间隔内可用周期的百分比,乘以逻辑 CPU 数。 例如,具有 8 个逻辑 CPU 的 SQL Server 实例上的值 800 表示线程可以使用 CPU 是其完整容量。 |
cpu_affinity_mask | bigint | 一个位掩码,描述 SQL Server 进程可以在处理器组中使用的逻辑处理器。 例如,cpu_affinity_mask 255(二进制中的 1111 1111)表示可以使用前八个逻辑处理器。 此列用于向后兼容性。 它不报告处理器组,当处理器组包含 64 个以上的逻辑处理器时,报告的值可能不正确。 请改用 process_physical_affinity 列来确定处理器相关性。 |
cpu_affinity_group | int | SQL Server 使用的处理器组数。 |
memory_limit_mb | bigint | 作业对象(包括 SQL Server)中的所有进程都可以累积使用的最大已提交内存量(以 MB 为单位)。 |
process_memory_limit_mb | bigint | 作业对象(如 SQL Server)中的单个进程可以使用的最大已提交内存量(以 MB 为单位)。 |
workingset_limit_mb | bigint | SQL Server 工作集可以使用的最大内存量(以 MB 为单位)。 |
non_sos_mem_gap_mb | bigint | 为线程堆栈、DLL 和其他非 SOS 内存分配预留的内存量(以 MB 为单位)。 SOS 目标内存是和 process_memory_limit_mb non_sos_mem_gap_mb .. |
low_mem_signal_threshold_mb | bigint | 内存阈值,以 MB 为单位。 当作业对象的可用内存量低于此阈值时,会将低内存通知信号发送到 SQL Server 进程。 |
total_user_time | bigint | 自创建作业对象以来,作业对象中的线程在用户模式下花费的总周期数为 100 n 秒。 |
total_kernel_time | bigint | 作业对象中的线程在内核模式下花费的 100 n 秒时钟周期总数,因为作业对象已创建。 |
write_operation_count | bigint | 自创建作业对象以来,SQL Server 颁发的本地磁盘上的写入 IO 操作总数。 |
read_operation_count | bigint | 自创建作业对象以来,SQL Server 颁发的本地磁盘上的读取 IO 操作总数。 |
peak_process_memory_used_mb | bigint | 作业对象(如 SQL Server)中的单个进程自创建作业对象以来使用的内存峰值量(以 MB 为单位)。 |
peak_job_memory_used_mb | bigint | 自创建作业对象以来,作业对象中的所有进程累计使用的内存峰值量(以 MB 为单位)。 |
process_physical_affinity | nvarchar(3072) | 位掩码,描述 SQL Server 进程可在每个处理器组中使用的逻辑处理器。 此列中的值由一个或多个值对构成,每个值对括在大括号中。 在每个对中,第一个值是处理器组编号,第二个值是该处理器组的关联位掩码。 例如,该值 {{0,a}{1,2}} 表示处理器组 0 的关联掩码为 a (1010 在二进制文件中,指示使用处理器 2 和 4),处理器组 1 的关联掩码为 2 (10 在二进制文件中,指示使用处理器 2)。 |
权限
在SQL 托管实例,需要VIEW SERVER STATE
权限。
在 SQL 数据库上,需要在数据库中拥有 VIEW DATABASE STATE
权限。
另请参阅
有关托管实例的信息,请参阅SQL 托管实例。