数据库技术专家
1 ;WITH NonClustedIndexColumn AS 2 ( 3 SELECT dataid,column_id,c.object_id, MAX(c.dataneme) dataneme FROM 4 sys.
测试代码: SET XACT_ABORT OFF go BEGIN TRAN BEGIN TRY DELETE dbo.T SELECT * FROM [不存在的表] -- 事务还在,T表被锁 -...
表现:收到性能告警,LazyWrite严重超标,一般在100以上,正常情况下,LazyWrite为0,但是奇怪的是,当时的Free pages =312190左右,相当于2G空闲空间。OS的可用内存在1G左右,从ring_buffers也没有看到外部内存压力,下班之后发现,tempdb开辟了一些空间。
SQL Server 2012中Task是如何调度的?[原文来自:How It Works: SQL Server 2012 Database Engine Task Scheduling] 从SQL Server 7.0以来调度算法并没有很大的改变。
The Accidental DBA (Day 1 of 30): Hardware Selection: CPU and Memory Considerations 本文大意: 全篇主要讲硬件选择和服务器成本的考虑,包括内存的开销,cpu开销,以及sql server的收费方式。
Don’t confuse error 823 and error 832 本文大意: 错误832: A page that should have been constant has changed (expected checksum: 1dcb28a7, a...
问题发生已经4天,一开始没在意,因为和性能影响不大。 现象: context switch很大,并且伴随内核模式cpu较高,大概20%以上。间歇性出现,一分钟左右一次很有规律。内核模式cpu花费在idle线程上面,往往中断量也会上升。
今天碰到了 Intra-Query Parallel Thread Deadlocks 简单的说就是并发查询把自己给锁住了。 原理: 在并发查询运行是,有一个生产者和一个消费者,生产者等待消费者产生数据,而消费者等待生产者处理完数据。
7.3 Hardware Prefetching 《Speculative Execution in High Performance Computer Architectures》 本节主要介绍硬件数据预取,数据预取分为2个端,处理器端和内存端,处理器端主要在主要在L1或者L2实现预取,内存端主要在内存控制器中实现。
Performance Considerations of Data Types 本文大意: 主要介绍数据类型的选择,选择尽量小的数据类型,减少表宽就以为这减少磁盘占用空间,以为这减少读入内存后占用的内存,就以为这减少不必要的cpu来读入数据,处理数据,char和varchar最佳实践小于5使用char大于10使用varchar。
设置填充因子和关注碎片的人应该不多,大家的处理方法都是类似每天重建或者重组 没有人真正考虑过碎片问题,什么原因造成,会有什么影响,就算知道可以通过设置填充因子来搞,很多人都无从下手 有的人不想全部索引都设置上指定的填充因子 只是想在内存中占用较大的浪费较多的设置上填充因子。
今天有人问我关于物理顺序和逻辑顺序的事情,就像到了这个话题 页碎片:就是IAM页中叶子页的下一页和页头中该页的下一页不相同,那么就是碎片 逻辑顺序:就是索引的叶子页中通过上一页下一页形成的顺序 物理顺序:就是IAM中分配的顺序 DROP TABLE dbo.
Wait statistics, or please tell me where it hurts 本文大意: waits stats(waits and queues) 是sql server调优的一个重要环节。
第一,确定安装了office 2007的访问插件 2007 Office System Driver: Data Connectivity Components注意要选对语言版本 第二,sql server启动程序是否对文件有访问权限 第三 USE [master] GO EXEC master.
分享大师的blog,并且把主要内容写出来,不敢翻译,以备看了之后忘记可以温习,也推广一下大师的博客 Importance of choosing the right LOB storage technique 本文大意: N/CHAR:当数据长度都是固定的比较好用,并且可以...
背景 测试8000个字节后,varchar(max)会被切到溢出页中 问题 在测试时发现 SELECT DATALENGTH ( REPLICATE ('a' , 9000)) 长度只能为8000 原因 常量字符在sql server里面为varch...
Why does the buffer pool contain so many dirty tempdb pages? 本文大意: 对于tempdb来说,还原模式为简单模式也只能是简单模式,不需要从故障中恢复,tempdb只会重建,所以tempdb没有必要做恢复,不需要自动checkpoint。
You are here: Home >> Database Maintenance >> Comprehensive tempdb blog post series Comprehensive tempdb blog post series By: Paul ...
2年SQL Server DBA调优方面总结 当2年dba 我觉得,有些东西需要和大家分享探讨,先书单。 书单 1.《深入解析SQL Server 2008 系列》 这个就是mssql 2005 的技术内幕系列。
出处:http://blog.csdn.net/zhubc/article/details/7293376 最近在学习Go语言,发现调用一些库函数失败后的返回字符串,都是一些乱码,觉得奇怪。所以写了一个最简单的程序来复现这个问题: func main(){ _, err := os.
问题: sql server 2005 之后 文件状态变为了7,DEFUNCT(僵死状态) 问题原因: 一般都是因为一些不合法的操作引起的 如以下: CREATE DATABASE Test GO ALTER DATABASE [Test] ADD FILEGROUP...
问题描述: sql server 2005 之后 删除数据库文件之后,在元数据里面在 背景: 一般在完全恢复模式下才会出现这个问题 解决方法: 备份日志
问题描述: 因为业务上的需要所以要对某些用户赋予表创建权限,当然不能让他瞎建。 所以把他控制在自己的schema下。 解决方法: grant create table to user grant control on schema::name to user 这样用户就有了schema 建表的权限了。
写在前面.非常非常感谢 Superor 拿出自己的时间,为中国的 Perl 界做出了第一个中文视频教程,象别的语言都有很好的教程。Perl 的相比起来还是少.看视频,在入门时还是相当方便的,就象电影来看就好了。
SQL Server页中行物理存储 SQL Server页有很多类型: 1 – 数据页. 记录堆或者聚集索引叶子级的数据 2 – 索引页. 用于保存聚集索引中的中间页和根页,或者非聚集索引的所有页 3 – text mix page.
SQL Server 中存储过程,函数,触发器代码存放于sys.sql_modules 对每个 SQL 语言定义的模块对象都返回一行。类型为 P、RF、V、TR、FN、IF、TF 和 R 的对象均有关联的 SQL 模块。
朋友的一个checksum计算列建立的索引: 在数据库设计中需要一列标注网页的URL地址,LINK NVARCHAR(1000)。在INSERT的时候需要判断之前有无同样的URL地址记录被插入。也就是用select top 1 @ID=ID from Table where Link=@Link,然后判断@ID值是否大于0。
From:http://blog.csdn.net/yangzhawen/article/details/8209167 18056 客户端无法重新使用 SPID 为 %d 的会话,该会话已被重置用于连接池。
很多DBA对nonpage pool 和 paged pool 搞不太清楚干嘛用的,看perfmon中的说明也看得稀里糊涂。找到一个资料就翻译一下。 From:http://blogs.technet.
CareSon 发表了一片博文http://www.cnblogs.com/CareySon/archive/2012/10/30/2745918.html其实我碰到过类似的事情,但是没有仔细研究为什么。
运行了就知道怎么回事儿了。 这个是一个简单的例子 里面还涉及到 如 对称密钥加密使用证书解密,没有涉及到。 可以查看: OPEN SYMMETRIC KEY 命令关于 对称密钥加密使用证书解密 CREATE MASTER KEY ENCRYPTION BY PASSWORD = '...
出处:http://www.cnblogs.com/fly_zj/archive/2010/07/07/1772818.html 原文为Determining SET Options for a Current Session in SQL Server 问题? 对于每个连接到SQLSE...
Open the registry(regedit) on the local machine. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib Right click on Per...
数据库必须打sp2补丁1).在主体的host里面加入镜像的ip,服务器名2).在镜像的host里面加入主体的ip,服务器名实现互通,ping 主机名和ip主体ip 镜像计算机名镜像ip 主体计算机名3). sql 的启动方式,必须已相同的用户名和权限启动。
We have already talked about Windows AWE mechanism on 32 bit and how SQL Server utilizes it. Today I would like to go over AWE & related mechanism on 64 bit platforms. 我们已经谈过windows AWE 在32bit 中sql server 如何利用。
死锁监控一直都很麻烦,我没有找到很好的方法 如果大家有好的方法,我也很想学习一下 我的方法比较简单: 1.sp_altermessage 1205 修改1205 错误让他能够写入日志 这样 代理中的警告才能使用 2.当然是启动 代理中的警告。
from :http://www.sqlskills.com/BLOGS/PAUL/post/Inside-the-Storage-Engine-IAM-pages-IAM-chains-and-allocation-units.aspx 目录 IAM页... 1 IAM链表... 3 分配单元... 4 包含列... 4 宽行(Large Rows)... 5 分区... 5 IAM页 一个IAM(index allocation map)页跟踪单个文件中近4GB空间,和4GB的空间对齐。
1. The CPU’s MMU locates the page directory for the process usingthe special register mentioned above.
Trace flags can be used to alter the behavior of SQL Server and they can help when diagnosing performance issues as well.
【IT168专稿】谈到GAM和SGAM,我们不得不从数据库的页和区说起。一个数据库由用户定义的空间构成,这些空间用来永久存储用户对象,例如数据库管理信息、表和索引。这些空间被分配在一个或多个操作系统文件中。
昨天发了篇 SQL Server 作业备份 http://www.cnblogs.com/Amaranthus/archive/2012/06/25/2561569.html 今天就加上powershell 把 作业同步 完善起来 核心导出作业的 代码 和 作业备份是相似的 ...
作业备份,不是备份数据库,是备份作业。 我的方法是把作业导出成文件备份起来,因为当你服务器维护的多了的时候很多你的作业 就很成问题,很麻烦。 最好能够作业实现同步,这个也是第一步,保存成文件,之后个人设想使用powershell 来把作业同步起来 DECLARE @...
$server = "(local)" $uid = "sa" $db="master" $pwd="fanzhouqi" $mailprfname = "sina" $recipients = "XXXX@qq.
就讲讲监控那些值,基线抓的是那些值。如何做告警 环境:windows 2008r2,sql server 2008r2 sp1 性能基线: cpu: \Processor(_Total)\% Processor Time \Processor(_Total)\% Privi...
前些日子,对 plan cache 不太熟悉。就在msdn 发了一个问题。 关于sys.dm_exec_cached_plans 和sys.dm_exec_query_stats 一些疑问 联机手册里面对执行计划的解释如下: SQL Server 执行计划包含下列主要组件: 查询计划执行计划的主体是一个重入的只读数据结构,可由任意数量的用户使用。
内存节点 内存节点是内存被划为了几块。在numa体系中一个numa节点对应一个内存节点。 主要功能是提供分配位置。这句话来自 sql server 求生秘笈 很难理解。应该是分配内存用的。
在写这篇东西的时候我也不是很清楚性能基线,到底要检查点什么,dmv要不要检查,perfmon要检测那先。 所以我决定,对我发的《sql server 性能调优》文章内的 perfmon和dmv做一个总结。
存储引擎自调整... 1 sql server 是如何分配内存的... 1 32bit地址空间的限制... 2 用户模式vas分配和virtualalloc. 3 非boffer pool 分配内存(保留内存)3 VAS调整.
研究cpu压力工具... 2 perfom.. 2 SQL跟踪... 2 性能视图... 2 cpu相关的wait event. 2 Signal wait time. 3 SOS_SCHEDULER_YIELD等待.
目录 诊断磁盘io问题... 1 常见的磁盘问题... 1 容量替代了性能... 1 负载隔离配置有问题... 2 分区对齐配置有问题... 2 总结... 2 关于io这一块,前面的东西如磁盘大小,磁盘带宽,随机读取写入,顺序读取写入,raid选择,DAS和SAN比较都不讲了。