(译)走进SQL Server 2005 tempdb数据库(五)

Modbus 通信协议详解 Modbus是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给 IDA(,分布式自动化接口)组织,并成立了 Modbus-IDA 组织。 阅读详情

要使SQL SERVER平稳的运作,必须把tempdb的共享资源管理好。一个低下的查询或者一个设计差的应用程序可能会导致tempdb的资源问题,从而使得整个SQL SERVER瘫痪下来。做为一个数据库管理员,应该对下面的几种类型的资源进行有效的管理:

 

       .      空间问题。这个包括数据和日志文件的使用空间以及未使用空间。

       .      I/O瓶颈问题。

       .      DML操作中的资源争夺。这个包括tempdb中所有对象的页的分配和释放。

    .  DDL操作中的资源争夺。这个包括用户对象创建或删除时对元数据的操作,但注意,    

内部对象是没有反映在元数据表中的。

 

       对于管理tempdb有非常大的挑战,其中之一是:你没有办法在tempdb数据库中分割出基于资源基础上的用户数据库,应用程序,以及用户会话。你甚至不能分割出基于对象类型的资源(如版本存储)。在SQL SERVER里,这些资源通过一个全局的池来管理。SQL SERER 2005提供了一套丰富的工具来监控这些资源,让您可以隔离应用程序或者那些耗费了严重资源的查询,从而可以进行有效的调整。

 

       这个章节描述了哪些资源你需要监控以及有哪些可以利用的工具来完成这些操作,同时还包括了涉及一些特殊资源问题的诊断方法。采取积极的监控可以让您在早期发现问题,并实施相关的解决方法,避免出现后期的灾难性问题。在SQL SERVER 2005中,在监控tempdb的方法中有了重大的改进。

 

Tempdb的空间

 

     大多数间接的(例如通过WORKTABLES)或者直接的(例如用户定义的临时表)查询以及DML语句会在tempdb数据库分配空间。如果tempdb没有空间,数据库将变得不可用。您可能使用完了所有空间,当tempdb达到它的最大值限制或者没有足够的物理磁盘空间存储它的数据或者日志文件。如果在这种情况下,唯一可以做的是杀掉一个或者多个进程/事务,来释放tempdb的空间。

       在SQL SERVER 2005中,管理tempdb的空间会更加重要,因为有很多新特性(例如:行版本,触发器,在线索引等)都会使用大量的空间。因为tempdb对于整个SQL SERVER是一个全局的资源,除非对应用程序的运行是充分的了解,否则很少有管理员可以控制它的空间使用。只能通过监控,在其空间达到我们的上线值之前,采取一些必要的措施。

 

监控空间

 

       这个章节介绍了在监控tempdb空间中,你可以利用的性能计数以及动态视图(DMVs)

 

 

 

性能计数

 

       Database: Log File(s) Size(KB)

              返回数据库中所有日志文件的累计大小。如果你还没有设置tempdb的日志文件的

大小值,这个值是可以增加的。

 

       Database: Log File(s) Used(KB)

              返回数据库中所有日志文件的累计使用大小。

 

       Free Space in tempdb(KB) (SQL Server 2005)

返回tempdb中的剩余空间。数据库管理员可通过这个性能计数来判断是否tempdb运行在不足的剩余空间中,以便可采取适当的处理。这个计数说明了tempdb中的三种类型的空间分配。

 

       Version Store Size(KB) (SQL Server 2005)

监控版本存储的空间大小。如果一个版本存储没有被收缩,意味着阻止这个操作的一个很大的事务的长期运行。

 

       Version Generation Rate(KB/s) (SQL Server 2005)

              监控版本存储中,每秒生成的版本比率(千字节)。

 

       Version  Cleanup Rate(KB/s) (SQL Server 2005)

监控版本存储中,每秒清除的版本存储比率(千字节)。如果版本存储清除的计数比版本存储生成的低,那么版本存储就会越来越占用tempdb的空间。但是,如果版本存储清除的计数是0,而版本生成的计数不是0,则有可能是一个长期运行的很大的事务阻止了版本存储的清除。

 

 

动态视图

 

      SQL SERVER 2005提供了一套丰富的动态视图来跟踪tempdb的空间使用。你可以使用这些视图分别在实例级别,会话级别或者单独的任务(这个任务可以是一个批处理)去跟踪它的空间使用情况。

 

       Sys.dm_db_file_space_usage

 

       这个动态视图返回了与tempdb相关联的空间分配信息。对于实例,这个信息可通过对对象类型(用户,内部,版本存储)进行分组,下面的代码是一个例子:

 

SELECT

SUM (user_object_reserved_page_count)*8 as usr_obj_kb,

SUM (internal_object_reserved_page_count)*8 as internal_obj_kb,

SUM (version_store_reserved_page_count)*8  as version_store_kb,

SUM (unallocated_extent_page_count)*8 as freespace_kb,

SUM (mixed_extent_page_count)*8 as mixedextent_kb

FROM sys.dm_db_file_space_usage

 

接下来的这个例子输出了当一个查询通过HASH连接创建了一个worktable。

 

usr_obj_kb internal_obj_kb version_store_kb freespace_kb mixedextent_kb

8192            4608                 0                3840        1024

 

你可以通过输出信息了解到tempdb的空间的被使用情况,下面几点可以帮助你对这个输出信息进行分析。

 

       .对于用户对象,如果有着较高的百分比分配,意味着这些被应用程序(例如全局和局部的临时表或者表变量)创建的对象是tempdb空间主要的占用者,但它并不一定是值得需要关注的问题。

 

       .对于内部对象,如果有着较高的百分比分配,意味着查询计划占用了比较打的tempdb空间,这不一定是个问题,但你需要看看这些执行计划是否可以重新调整或者添加一些索引,以最大限度的减少tempdb空间的使用。

 

       .对于版本存储,如果有着较高的百分比分配,意味着版本存储的清除与版本存储的生成并不能达到平衡。检查一下是否有长期运行的大的事务阻止了版本存储的清除,或者是一个很大的事务每分钟产生了非常多的版本存储。后台进程每分钟会清除版本存储。

 

       Sys.dm_db_session_file_usage

 

       这个动态视图跟踪了活动会话在tempdb中历史的页的分配和释放信息。当一个用户连接到数据库,这个会话就会被监听。除非连接中断,不然这个会话一直是活动的。在会话活动期间,它有可能提交提交了一个或者多个批处理。一旦批处理完成,这个动态视图就会跟踪其空间的使用情况。下面的代码例子显示了哪5个会话分配了最大的空间,对于用户和系统对象。请注意,这个结果没有考虑版本存储的影响:

 

SELECT top 5 *

FROM sys.dm_db_session_space_usage 

ORDER BY (user_objects_alloc_page_count +

   internal_objects_alloc_page_count) DESC

 

       Sys.dm_db_task_space_usage

 

       这个动态视图跟踪了当前执行任务(包括批处理)对tempdb页的分配和释放的信息。当tempdb空间被使用完的情况下,这个动态视图是非常有用的。通过这个视图,你可以看到哪些任务占用了非常多的tempdb空间,并可以有选择性的杀掉其进程。你可以分析为什么这个任务占用了如此多的空间,并做适当的优化。你还可以关联其他的动态视图以得到其执行计

 

划,从而更深层次的去分析它。下面的代码显示了哪5个任务占用了最多的tempdb空间。请注意,这个结果没有考虑版本存储的影响:

 

SELECT top 5 *

FROM sys.dm_db_task_space_usage

ORDER BY (user_objects_alloc_page_count +

   internal_objects_alloc_page_count) DESC

 

       下一次,将介绍tempdb空间的诊断,请随时关注。

华为OD机试真题 新系统【小学英语老师批改作文】 华为OD机试 新系统真题【小学英语老师批改作文】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【小学英语老师批改作文】 阅读详情

相关推荐

黑客渗透测试后门隐藏技术揭秘

本文介绍了在授权渗透测试中隐藏后门文件(muma.exe)的多种技术手段。主要包括:通过WinRAR自解压脚本将后门与正常程序捆绑实现双开;利用系统自动运行目录和注册表实现开机自启;修改文件图标伪装成常用软件;将文件存放在冷门系统目录;设置系统+隐藏双重属性增强隐蔽性。此外还涉及对抗安全软件的加壳(UPX)、免杀(msfvenom编码)技术,以及进程注入、日志清除等运行隐藏方法。所有技术仅限合法授权测试使用,未经授权使用将面临法律责任。

m0_60781580的博客 1040

sql server 2005的tempdb太大了

sqlserver 2005装在c盘,用久了竟然30g的c盘不够了,检查发现tempdb占了11G 赶快找下怎么把tempdb弄走 [code="java"] USE master GO ALTER DATABASE tempdb modify file (name = tempdev, filename = 'F:\Sql Server TempDB\Pathtempdb....

hepl博文 392

Vben Admin权限管理全解析:从动态菜单到按钮级控制(附代码示例)

本文全面解析Vben Admin框架的权限管理系统,从动态菜单生成到按钮级细粒度控制,提供完整的实现方案和代码示例。深入探讨基于角色-权限模型的架构设计,分享前后端协作的最佳实践,帮助开发者快速构建安全高效的企业级后台系统。

weixin_30919429的博客 485

(译)走进SQL Server 2005 tempdb数据库 (一)

引言     本文内容来源于一篇白皮书,但在原文的基础上增加了部分内容,为了表示对原文作者的尊重,并未标示为原创,特此申明。目的只是希望能与各位网友一起分享好文章,如有撰写不好的地方,请多多原谅,也感谢各位的支持!  tempdb介绍     在SQL Server2005里,tempdb系统数据库经历了许多的改变,包括一些新的用法以及内部的优化,但从SQL Ser

3237

Transformer凭什么取代RNN?深入拆解自注意力机制与梯度消失问题的终极对决

本文深入探讨了Transformer如何通过自注意力机制解决RNN的梯度消失问题,成为自然语言处理领域的新标准。通过对比RNN和Transformer的架构差异,揭示了自注意力机制在并行计算、长期依赖处理等方面的技术优势,并提供了实际任务中的性能对比数据。

f6g7h8i9j的博客 190

PID不够用?试试用ADRC改造你的ArduCopter:从Simulink仿真到SITL测试全记录

本文详细介绍了如何将ADRC(自抗扰控制)算法集成到ArduPilot飞控中,以替代传统PID控制器。通过Simulink建模、参数整定和SITL仿真测试,展示了ADRC在抗扰动能力、响应速度和参数调节复杂度上的优势,特别适合无人机在强风扰动下的稳定控制。

weixin_32349093的博客 273

【sql server】临时表和Tempdb

sql server的临时表 1、创建方法: 方法一: create table TempTableName 或 select [字段1,字段2,…,] into TempTableName from table 方法二: create table tempdb.MyTempTable(Tid int) 说明: (1)、临时表其实是放在数据库tempdb里的一个用户表; (2)、TempTableName必须带“#”,“#"可以是一个或者两个,以#(局部)或##(全局)开头的表,这种表在会话期间存在,会话结

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 6278

费雪的未来增长评估:预测颠覆性技术的影响

本文旨在提供一个系统性的框架,用于评估和预测颠覆性技术的增长轨迹。我们将重点关注费雪增长模型(Fisher-Pry Model)这一经典技术扩散理论,探讨其在现代技术预测中的应用价值。文章首先介绍费雪增长模型的基本概念,然后深入其数学原理和算法实现。随后展示实际应用案例,讨论工具资源,最后探讨未来发展趋势。每个部分都包含详细的技术实现和理论分析。费雪增长模型(Fisher-Pry Model):一种描述技术替代过程的S型增长模型,用于预测新技术取代旧技术的速率。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 928

(译)走进SQL Server 2005 tempdb数据库(二)

上篇文章(http://blog.youkuaiyun.com/CN_SQL/archive/2009/02/07/3867694.aspx),我们对tempdb系统数据库有了一个新的认识,现在我们来慢慢对其进行深入的了解和掌握。     首先,先介绍“tempdb的空间使用”,有下面几种类型的对象会占用tempdb的空间:     .   内部对象    .   版本存储    . 

2269

Megatron-LM从头训练大语言模型:并行策略图示【Tensor并行、Pipeline并行、Data并行、Sequence并行、virtual_pipeline并行、Context并行】

节点包含的层每GPU的参数内存每GPU的激活内存节点0Stage 0层1-1212层参数/2 (TP切分)8k序列激活 (CP切分)节点1Stage 1层13-2412层参数/2 (TP切分)8k序列激活 (CP切分)节点2Stage 2层25-3612层参数/2 (TP切分)8k序列激活 (CP切分)节点3Stage 3层37-4812层参数/2 (TP切分)8k序列激活 (CP切分)负载均衡:每个节点处理相同数量的层(12层)内存优化。

u013250861的博客 285

lammps案例:聚乙烯和石墨烯界面pull out模拟

大家好,我是小马老师。 本文介绍lammps模拟计算界面结合力的一个案例。 本案例参考论文《The interfacial mechanical properties of functionalized graphene- polymer nanocomposites》,对论文作者表示感谢。 模型共分2层,上层为聚乙烯模型,下次为单层石墨烯,模拟过程共分3部分:建模、弛豫、拉伸。 (1)建模 使用MS建立聚乙烯和石墨烯模型,具体方法可参考之前的推文,使用build layer方法建立聚乙烯和石墨烯组合模型,

lammps_jiayou的博客 3496

如何监测谁用了SQL Server的Tempdb空间?

Tempdb系统数据库是一个全局资源,供连接到 SQL Server 实例的所有用户使用。在现在的SQL Server里,其使用频率可能会超过用户的想象。如果Tempdb空间耗尽,许多操作将不能完成。<br />作为一个支持工程师,会被经常问到象“我的Tempdb为什么这么大?”“是谁把我的Tempdb空间用完的?”在SQL 2000的时候,这个问题很难回答。好在SQL 2005以后,引入了一张新的管理视图:sys.dm_db_file_space_usage。通过查询这张视图,能了解tempdb的空间使用

微软亚太区数据库技术支持组 官方博客 775

Windows部署OpenClaw报错不断?这篇环境配置指南帮你解决难题

想在Windows上部署OpenClaw却频频报错?🔧 本文详细梳理了OpenClaw部署必需环境的安装步骤和官方下载地址 📦,提供完整的验证清单和常见问题排查方法,帮你一次性搞定所有环境配置,顺利部署OpenClaw ✅

XiaoqiangClub的博客 6651

sql server 临时表(上) Tempdb概述

一.概述   在sql server里临时表存储在TempDB库中,TempDB是一个系统数据库,它只有Simple恢复模式,也是最小日志记录操作。主要用于存放局部临时表,全局临时表,表变量,都是基于临时特征,每次服务器或服务重启后,都会按照Model库的配置重新创建TempDB库。在sql server 2012中TempDB表可以配置在故障转移中。在TempDB库中存放三类对象包括:用户对象, 内部对象, 行版本存储。TempDB库只有一个文件组,就是primary文件组,增加其它文件组会提示报错。.

建建的博客 4454

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

用SQL Server 2005构建高性能的数据仓库(一)

http://hi.baidu.com/susan_jony/blog/item/e732e0deef04645cccbf1aa2.html摘要:本文主要讨论当架构一个很大的、高性能的数据仓库,特别是对那种无法预知有多少查询量的系统时要考虑的一些东西。这个讨论包括SQL Server 2005的一些新的特性以及在使用这些特性的时候需要考虑的一些东西。它同时也包括了创建或存储一个聚合的数据集来使

Reasoncool的专栏 1574

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

tempdb数据库清理_tempdb数据库,简介和建议

tempdb数据库收缩 介绍 ( Introduction ) Many times the people focus on the user databases to improve the performance, but sometimes the problem is not the user database itself. Sometimes the problem is ...

culuo4781的博客 3470

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

深刻的教训——SQL Server关于TempDB的使用

深刻的教训,SQL Server关于TempDB的使用。

DBA@Robin 9341

监测谁用了SQL Server的Tempdb空间

转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/02/11/sql-server-tempdb.aspx Tempdb 系统数据库是一个全局资源,供连接到 SQL Server 实例的所有用户使用。在现在的SQL Server里,其使用频率可能会超过用户的想象。如果Tempdb空间耗尽,许多操作将不能完成。 作为一个支持工程师,会被经常问到象

lisky119的专栏 730

SQL Server 中关于系统库Tempdb总结

Tempdb系统数据库是一个全局资源,可供连接到SQL Server实例的所有用户使用。 存储的内容项: 1、用户对象 用户对象由用户显示创建。这些对象可以位于用户会话的作用域中,也可以位于创建对象所用例程的作用域中。例程可以是存储过程、触发器或用户自定义函数。用户对象可以是一下项内容之一: 用户定义的表和索引 系统表和索引 全局临时表和索引 table变量 表值函数...

483

(译)走进SQL Server 2005 tempdb数据库(四)

  对于一个应用程序来说,评估tempdb数据库的大小是非常困难的。这篇文章介绍了评估tempdb数据库所需大小的一般方法。这些方法可能不够精准,需要相当的经验和测试才能获得满意的结果。为了安全起见,建议你总是考虑多余评估大小20%的空间大小,同时也是为了考虑应用程序将来的数据增长。    为了能明白tempdb数据文件所需要的磁盘空间大小,首先需要先弄清楚SQL Server 2005中,哪

2078

丢失tempdb无法启动SQL Server2005的故障排除

最近服务器的出了些问题,将连接存储的服务器更换了之后,为了查找原因,需要重新启动SQL server,结果系统报错 Event Type: ErrorEvent Source: MSSQLSERVEREvent Category: (2)Event ID: 5123Date: 7/27/2009Time: 5:03:46 PMUser: N/ACo

无知无畏的专栏 2119

(译)走进SQL Server 2005 tempdb数据库(三)

 上篇文章(http://blog.youkuaiyun.com/CN_SQL/archive/2009/02/11/3876521.aspx)我们介绍了tempdb的空间使用类型,这次我们将介绍SQL Server 2005中tempdb的改进。 下面这些是SQL Server 2005 tempdb的几个重要的改进点: .   tempdb日志操作优化避免了将“之后的值”纪录到日志

3012

如何收缩 SQL Server 中的 Tempdb 数据库

 Tempdb 信息收缩 Tempdb 的方法 1收缩 Tempdb 的方法 2收缩 Tempdb 的方法 3在使用 Tempdb 时执行 DBCC SHRINKDATABASE 或 DBCCSHRINKFILE 的结果参考 var sectionFilter = "type !=

枫的专栏 1万+

在sql server 2005 中如何移动tempdb到新的位置

最近在做数据库的时候,发现经常由于tempdb太大而造成的磁盘空间不足的问题,为了解决这个问题我们使用的一个解决办法是把tempdb移到一个新的位置.下面是具体的操作步骤;1、检查tempdb的逻辑名字和它的存在位置。可以使用下面语句:Select name, physical_nameFROM sys.master_filesWhere database_id = DB_ID(tempdb

wangerranty的专栏 493

SQL2005/2008 tempdb数据库路径的转移

SQL2005/2008 tempdb数据库路径的转移--By :Tony 2010.04.10 --停止与启动SQL服务方法:开始-->运行-->输入services.msc,回车-->在服务列表中找到SQL Server (MSSQLSERVER)-->右键-->停止/启动1.停止SQL服务2.复制 tempdb数据库的两个文件(.mdf/.ldf) 到新文件夹,如(D:/

一个世界一个家,我爱中国! 3623
上一篇: 非中文排序规则下对XML数据类型转换的一个问题
下一篇: 如何查询SQL SERVER运行了多长时间
CN_SQL
博客等级 码龄18年 78粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值