为什么生产环境会跑得比测试环境还慢
http://blogs.msdn.com/b/apgcdsd/archive/2011/09/20/10213797.aspx[@more@]
利用Ring Buffer在SQL Server 2008中进行连接故障排除
http://blogs.msdn.com/b/apgcdsd/archive/2011/11/21/ring-buffer-sql-server-2008.aspx[@more@]
SQL server 2008里面通过sys.dm_exec_procedure_stats得到存储过程的执行信息
很多DBA都希望能够得到某个存储过程的执行信息,比如:1) 执行了多少次2) 执行的执行计划如何3) 执行的平均读写如何4) 执行平均需要多少时间等等. 幸运的是SQL server 2008 提供了一个这样的DMV,使得我们比较容易就得到上面的信息。这个DMV是sys.dm_exec_procedure_stats,它输出了下面的信息(部分截图,具体的请参考联机丛书):[@more@]列名 数据类型 说明 database_id int 存储过程所在的数据库 ID。object_id int 存储过程的对象标识号。cached_time datetime 存储过程添加到缓存的时间。cached_time datetime 存储过程添加到缓存的时
Delete大量数据后SQL Server性能下降
今天给大家分享一个”删除大量数据后SQL Server性能下降”的案例。一般而言,数据库数据减少后,应该有助于提高SQL server的整体性能。可是在这个案例中,情况恰恰相反。[@more@]症状=========- 删除大量数据后SQL Server性能下降- 一些存储过程之前运行20分钟左右,现在需要运行2-3个小时。背景信息=========- 大量数据通过DELETE语句而删除- 数据删除后,客户进行了相关的维护工作 : 重建索引和更新统计数据- 性能变慢的存储过程会对一些表做很多的”DELETE”,”INSERT”和”SELECT”操作。调查=========- 相关的表都是堆( heap table)
使用network monitor trace发现应用程序在数据库上执行时的timeout错误
一个奇怪的timeout 问题—--使用network monitor trace发现应用程序在数据库上执行时的timeout错误。问题的描述:客户使用一个应用程序向数据库中装载数据。该程序执行大量的insert和bulk insert的命令。客户的使用过程中,每4次执行就有一次会报timeout的错误。当timeout错误报出的时候,该程序执行了不到1分钟。问题的检查:既然错误信息已经明确的指出了是timeout,那我们首先需要检查客户端应用程序相关的timeout设置。通常跟数据库有关的两个timeout设置分别为:连接timeout和语句timeout。连接timeout是指客户端程序创建数据库连接时
试分析tempdb transaction log变满的情况
1. 有一个极大的事务正在运行,还未提交完成,正在阻塞住其他进程。2. 数据库调用频率极大增加,或者说每秒事务数极大增加,导致sql server来不及释放transaction log.[@more@]1. 有一个极大的事务正在运行,还未提交完成,正在阻塞住其他进程。2. 数据库调用频率极大增加,或者说每秒事务数极大增加,导致sql server来不及释放transaction log.
监控 SQL Server 的运行状况--常用检测语句
Microsoft SQL Server 2005 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。 常规服务器动态管理对象包括: dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连接 dm_os_*:内存、锁定和时间安排 dm_tran_*:事务和隔离 dm_io_*:网络和磁盘的输入/输出 此部分介绍为监控 SQL Server 运行状况而针对这些动态管理视图和函数运行的一些常用查询。 示例查询 您可以运行以下查询
SQL Server:SQL Server 专家的十个秘密
维护 SQL Server 环境可能是一项非常复杂的任务。您可以通过本文提供的十种方式来降低复杂性并减轻压力。 Paul S. Randal过去数年来,许多公司纷纷精简了其 IT 部门。很多数据库管理员 (DBA) 不得不承担大量的 SQL Server 数据库管理工作。更糟糕的是,经常并没有真正意义上的 DBA,而是随便找个人来充任。而且有时候,DBA 纯粹成了救火队员,在不断涌现的危机之间疲于奔命。这样恶劣的环境是不正常的,也难以持久。没有人愿意处于这种持续压力和干扰之下。摆脱这种境况的一个方法是花点功夫来简化您的 SQL Server 环境,使之更易于理解和
SQL Server Configuration Manager – Cannot connect to WMI provider – Invalid class [0x80041010]
1. Disable UAC;2. Excute mofcomp.exe "C:Program Files (x86)Microsoft SQL Server100Sharedsqlmgmproviderxpsp2up.mof"[@more@]If you run into any compilation error like - An error occurred while processing item 1 defined on lines 4 - 7 in file C:Program Files (x86)Microsoft SQL Server100Sharedsqlmgmproviderxpsp2up.mof:0X80041002 Class, instance, or property 'Name' was not found.Compiler returned error 0x80041002follow the below steps.1. Stop WMI service2. Navigate to the folder “C:Windows
How to prevent blocking in your SQL Server database
http://beyondrelational.com/blogs/community/archive/2011/09/12/how-to-prevent-blocking-in-your-sql-server-database.aspx[@more@]As a SQL Server DBA, usually the largest databases in size and in number of users that I had to manage was an ERP database, such as Microsoft Dynamics AX. And because these types of database typically have a lot of users, database blocking was a major concern. This would manifest itself via calls from users saying that they hit the save button on a screen and it has ju
详解SQL Server的两个存储过程:sp_MSforeachtable/sp_MSforeachdb
详解SQL Server的两个存储过程:sp_MSforeachtable/sp_MSforeachdb[@more@]1.简介: 作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须通过写游标来达到要求;如果我们用sp_MSforeachtable就可以非常方便的达到相同的目的:EXEC sp_MSforeachtable @command1="print '?' DBCC CHECKTABLE ('?')" 系统存储过程sp_MSforeachtable
Suggested Max Memory Settings for SQL Server 2005/2008 (for x64)
It is pretty important to make sure you set the Max server memory setting for SQL Server 2005/2008 to something besides the default setting (which allows SQL Server to use as much memory as it wants, subject to signals from the host OS that it is under memory pressure). This is especially important with larger, busier systems that may be under memory pressure. This setting controls how much memory can be used by the SQL Server Buffer Pool. If you don’t set an upper limit for this value, other
SQL Server 2005中修改 Server Collation的方法
在SQL 2005的前一个版本SQL 200中如果需要更改一个Server的COLLATION,我们可以执行SQL 2000自带的一个小工具rebuildm,用于重建master数据库。在SQL 2005中微软不再提供这个工具,那么我们如何更改Server的COLLATION呢?以下是在SQL 2005中更改COLLATION的步骤备份数据库并且detach数据库。通过安装盘的SETUP.EXE重建master数据库并指定新的COLLATION。示例setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=SQL_Latin1_General_CP1_CI_AI默认实例是MSSQLSERVER,命名实例则是具体
Developers community number 1 connection string reference
http://connectionstrings.com/各种数据库连接串参考大全。[@more@]
XML Support in Microsoft SQL Server 2005
http://msdn.microsoft.com/en-us/library/ms345117(v=sql.90).aspx
J2EE学习方法摘要
目前JAVA主要分三个方向:J2EE(java 2 enterprise edition,也就是JAVA的企业级标准,目前应用最多也最广泛,技术相对成熟)、J2ME(java 2 micro editon,java在微型系统上的应用,像手机、PDA...
SQL Server Service Pack Model and Naming Rule
An Incremental Servicing Model http://support.microsoft.com/kb/935897Naming schema for Microsoft SQL Server software update packageshttp://support.microsoft.com/kb/822499
SQL 2005 XML最佳实施策略用法
http://tech.it168.com/db/2008-01-22/200801221140482.shtml将 XML 数据从 SQL Server 2000 传输到 SQL Server 2005文本编码Xquery 与类型推理错误模型 唯一性检查 父轴 联合类型的函数和运算符 使用 FOR ...
Microsoft SQL Server 2005 中的国际功能
http://msdn.microsoft.com/zh-cn/library/bb330962(v=sql.90).aspx#ELAA
50种方法优化SQL Server数据库查询
查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。9、返回了不必要的行和列10、查询语句不好,没有优化[@more@]可以通过如下方法来优化查询:1、把数据、日志、索引放到不同的I/O设备上,增加读取