在繁忙 SQL Server 上运行事件探查器
作者是 Brian Moran,电子邮件地址为 savvy@sqlmag.com问:我尝试使用 SQL Server 事件探查器为我的一个客户优化一个繁忙的 SQL Server 数据库。这个 8GB 的数据库运行在一台 CPU 利用率为 70% 到 80% 的 8 CPU 服务器上。该服务器很快变得没有响应,我必须重新启动服务器。Microsoft Developer Network (MSDN) 支持人员告诉我,事件探查器会给繁忙的 SQL Server 增加沉重的负担。为了优化数据库,我需要查看查询生成的 SQL 文本和读数。如何从一台繁忙的、多处理器的 SQL Server 上收集此信息而又不会使服务器忙过头儿呢?[@more@]答:我
分享解决SQL数据库超时(timeout)的问题可能原因
1.由于数据库设计问题造成SQL数据库新增数据时超时症状:Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL Server Driver]超时已过期); 服务器上看CPU、内存占用率很低; 事件日志中提示: 数据库 '*********' 中文件 '***********' 的自动增长在 453 毫秒后已取消或出现超时。使用 ALTER DATABASE 设置更小的 FILEGROWTH 或设置新的大小。 原因:数据库设置时,[文件增长]按百分比来增长,当数据库文件很大时(1G以上),新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。解决方法: 把上述的文件增长这里设
DBCC TRACEON (3604)
Trace flag 3604 is to print the output in query window. Since you have not given -1 parameter (DBCC TRACEON(6304,-1)), it would be session specific. Once you close the window, it would be cleared. You can use DBCC TRACESTATUS to get information about the flags which are enabled.DBCC PAGE is undocumented command and its not recommended to run on production. Balmukund Lakhani | Please mark solved if I've answered your question, vote for it as helpful to help other user's find a solution quicker --
利用DBCC PAGE查看SQL Server中的表和索引数据
问题 我读了很多关于数据库页和如何利用它们来存储表数据和索引数据的文章。有没有一种方法可以让我真正看到这方面的信息呢? 专家解答 在SQL Server中最糟的一个秘密是没有正式文件说明的DBCC PAGE命令,而这个命令可以让你查看数据和索引页的内容。其中,某些信息仍然是神秘的,而你喜爱的搜索引擎是一个让你开始着手查找输出结果背后展示的很多意思的好去处。尽管如此,我发现,当我遍历数据库来解决数据库问题而我只有通过页信息来继续摸索这个问题时,或者当我只是想看看当遇到某些数据库操作发生时数据库引擎如何处理数据和
DBCC 命令列表
Maintenance StatementsDBCC DBREINDEXDBCC DBREPAIRDBCC INDEXDEFRAGDBCC SHRINKDATABASEDBCC SHRINKFILEDBCC UPDATEUSAGEMiscellaneous StatementsDBCC dllname (FREE)DBCC HELPDBCC PINTABLEDBCC ROWLOCKDBCC TRACEOFFDBCC TRACEONDBCC UNPINTABLEStatus StatementsDBCC INPUTBUFFERDBCC OPENTRANDBCC OUTPUTBUFFERDBCC PROCCACHEDBCC SHOWCONTIGDBCC SHOW_STATISTICSDBCC SQLPERFDBCC TRACESTATUSDBCC USEROPTIONSValidation StatementsDBCC CHECKALLOCDBCC CHECKCATALOGD
ASP.NET2.0连接SQL Server数据库详解
本文将详细介绍如何使用Connection对象连接数据库。对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对象为我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。本篇文章来自<A href='http://www.soidc.net'>IDC专家网</a> 原文链接:http://www.soidc.net/articles/1213781277395/20060710/1214038144815_1.html[@more@]Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。 SqlConnection类的对象连接SQL Server数据库;OracleConnection
连接池和 Timeout expired 异常
http://www.dezai.cn/blog/article.asp?id=226原文标题:Connection Pooling and the "Timeout expired" exception FAQ来源:http://blogs.msdn.com/angelsb/archive/2004/08/25/220333.aspx作者:angelsb [@more@]原文标题:Connection Pooling and the "Timeout expired" exception FAQ来源:http://blogs.msdn.com/angelsb/archive/2004/08/25/220333.aspx作者:angelsbSystem.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may
品性
贾斯索教授说过: “以行为、表情、姿势、神态和谈话来判断一个人要比以长相来判断一个人有价值得多。”我这里斗胆说一句,自我形象才是唯一准确的发现个性的向导。自我形象就是生活中成败的结果。以往的成功经验能给我们目前以信心,提高我们的品性。如果因为以往的失败而为自我形象羞愧,那么在现今的事业中,能力就会减弱。性格就会软弱,不再那么有所作为了。一句古老的拉丁谚语说: “一个人的性格是他命运的主宰。”[@more@]
个性
1. 一次做一件事,一次攻一个目标。2. 生活于现实,立足于今天。3. 不要深陷于对昨日过失的自责,不要为一点小事怨天尤人,昨天一去不复返。4. 渴求自我完善。5. 公正地评判自己,树立自信心。6. 学会静听他人的意见,这有益于消除隔阂和偏见。7. 竭尽全力朝自己的目标冲刺,如果遇到挫折,不要灰心,再试一次,再试一次。8. 要敢于在大庭广众前公开自己的观点。9. 注意培养自己的想象力和创造力。查理*舒瓦柏说过: “个性对于人来说,犹如花朵散发的芬芳。”[@more@]
通过DMV查找CPU时间最长的语句和查询计划
SELECT TOP 50 execution_count, total_worker_time [CPU time], total_logical_reads / execution_count AS [Avg Logical Reads], total_elapsed_time / execution_count AS [Avg Elapsed Time], total_worker_time / execution_count as [Avg CPU time], db_name(st.dbid) as [database name], object_name(st.dbid) as [object name], object_name(st.objectid) as [father object name], SUBSTRING ( st.text, (qs.statement_start_offset / 2) + 1, ( ( CASE statement_end_offset WHEN - 1 THEN DATALENGTH(st.text)
测量TSQL语句的性能
你怎样确定你的应用程序执行的怎么样?你可以使用什么工具?每一个开发人员需要确定每一条应用程序TSQL语句是最优的。本篇文章将讲述关于怎样确定运行较慢的查询的一些不同方法,并提供给你一些小技巧用于在你反复修改每一个查询来试图改进性能的时候监控你的查询性能。[@more@]【IT专家网独家】你怎样确定你的应用程序执行的怎么样?你可以使用什么工具?每一个开发人员需要确定每一条应用程序TSQL语句是最优的。通过调整每一个查询你可以确定你的应用程序运行得尽可能的高效。你使用开发环境时更容易对应用程序的代码进行修改。一旦你的代码
关于锁的问题
SQL server共享锁,排他锁,更新锁的使用[@more@]一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,锁就是在一段时间
SQLServer2005所提供的主动通知
在数据库内存放的数据的使用模式有许多是变动少而查询多的。据统计,数据库中一般有 20% 以上的数据属于此类型,例如公司的产品、人事数据,以及用作参照的数据表(lookup table),例如提供地址输入的可选择的国家、城市,人事部门、职级等等。这些数据可能都是在数据输入时,供人点选而以代号填入某个数据表字段中,其内容自身较少更改。在多人同时访问的环境中,我们一般会设计高速缓存的机制,将上述不常更改的数据临时存放在应用程序服务器或是用户的机器上,避免频繁地往返访问数据库。但为了要提供数据库内他人更新后的状况,仍必须
sql server 2008 R2 Data-tier Application 提供新的数据库升级方法
数据库的升级总是比应用程序的升级要困难。应用程序升级不外乎就是完整的覆盖文件。而数据库的升级不能简单的做文件整体覆盖,而必须考虑用户数据的存在,保证用户数据是完整性和可用性。[@more@]数据库的升级总是比应用程序的升级要困难。应用程序升级不外乎就是完整的覆盖文件。而数据库的升级不能简单的做文件整体覆盖,而必须考虑用户数据的存在,保证用户数据是完整性和可用性。以往我们升级数据库的方法可以简称为Create then Alter 。这个方法常常有两个文件构成,一个为Create.sql,一个是Alter.sql .Create.sql 建立1.0的数据库(
使用 VS2010 在 SQL 2008 R2 上进行应用开发 (1)
作者:蒋建平日期:2010-06-09http://technet.microsoft.com/zh-cn/ff731129.aspx[@more@]数据应用层程序(Data-Tier Application Component, DAC)是SQL Sever 2008 R2的一大功能亮点,结合使用Visual Studio 2010,可以帮助开发人员和数据库管理员比以前更加有效的开发、部署、管理应用程序的数据层。 数据库应用层程序(DAC)是一个包含了几乎某一应用所需要的数据库及实例对象的实体,如表、视图、存储过程、登录等等。有了实体以后,开发人员或数据库管理员就可以把DAC打包成为一个单一实体,这个单一实体就是DAC包。 DBA可以把DAC包部
SQL Server2008 R2新特性解析
Microsoft SQL Server 2008 R2是SQL Server数据库的最新版本,本文将介绍SQL Server 2008 R2的10大新特性,R2标志表示这是SQL Server的一个中间版本,而不是一个主版本,但R2版本一样为DBA和开发人员提供了大量有趣的新功能。在写本文的时候,R2已经处于社区发布版本(CTP),除了新功能外,也发布了两个新版本:SQL Server 2008 R2 Datacenter(数据中心版)和SQL Server 2008 R2 Parallel Data Warehouse(并行数据仓库版)。[@more@]1.Report Builder 3.0 Report Builder是一个工具集,通过它可以开发出发布到Web上的报表,通过Report Bui
Cassandra数据模型
提起NoSQL这个话题,仿佛不应该是DBA要关注的事,而是架构师应该关心的。但是作为一名DBA,在使用传统的关系型思想建模时,应该有必要了解NoSQL的建模方法。各种NoSQL数据库有很多,我最关注的还是BigTable类型,因为它是一个高可用可扩展的分布式计算平台,用来处理海量的结构化数据,而数据库同样也是处理结构化数据,所以除了没有SQL,在数据模型方面有相似之处。Cassandra是facebook开源出来的一个版本,可以认为是BigTable的一个开源版本,目前twitter和digg.com在使用。我们尝试从DBA的角度出发去理解Cassandra的数据模型。NoSQL并不
memcacheDB介绍
MemcacheDB is a distributed key-value storage system designed for persistent. It is NOT a cache solution, but a persistent storage engine for fast and reliable key-value based object storage and retrieval. It conforms to memcache protocol(not completed, see below), so any memcached client can have connectivity with it. MemcacheDB uses Berkeley DB as a storing backend, so lots of features including transaction and replication are supported. 是新浪互动社区技术团队2007年的一项重大的技术成果,现在应
从LiveJournal后台发展看大规模网站性能优化方法
内详。[@more@] 从LiveJournal后台发展看大规模网站性能优化方法于敦德 2006-3-16一、LiveJournal发展历程LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能: 博客,论坛 社会性网络,找到朋友 聚合,把朋友的文章聚合在一起 LiveJournal采用了大量的开源软件,甚至它本身也是一个开源软件。 在上线后,LiveJournal实现了非常快速的增长:2004年4月份:280万注册用户。 2005年4月份:680万注册用户。 2005年8月份:790万注册用户。 达到了每秒钟上千次的页面请求及处理。 使用了大量MySQL服务器。 使用
Technorati的后台数据库架构
Technorati的 Dorion Carroll在 2006 MySQL 用户会议上介绍了一些关于 Technorati 后台数据库架构的情况.[@more@]基本情况 目前处理着大约 10Tb 核心数据, 分布在大约 20 台机器上.通过复制, 多增加了 100Tb 数据, 分布在 200 台机器上. 每天增长的数据 1TB. 通过 SOA 的运用, 物理与逻辑的访问相隔离, 似乎消除了数据库的瓶颈. 值得一提的是, 该扩展过程始终是利用普通的硬件与开源软件来完成的. 毕竟 , Web 2.0 站点都不是烧钱的主. 从数据量来看,这绝对是一个相对比较大的 Web 2.0 应用. Tag 是 Technorati 最为重要的数据元素