摘要:
概念介绍 开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种。它等同于 READUNCOMMITTED 。 具体的功能作用如下所示(摘自MSDN): 1: 指定允许脏读。不发布共享锁来阻止其他事务修改当前事务读取的数据,其他事务设置的排他锁不会阻碍当前事务读取锁定数据。允许脏读可能产生较多的并发操作,但其... 阅读全文
随笔分类 - 数据库技术(MS SQL)
虚拟机备份克隆导致SQL SERVER 出现IO错误案例
2014-08-20 10:28 by 潇湘隐者, 3442 阅读, 收藏,
摘要:
案例环境: 服务器配置: CPU: Intel E5-2690 RAM: 12G 虚拟机 操作系统 : Windows Server 2008 R2 Standard Edtion x64 数据库版本: SQL SERVER 2008R2 案例介绍: 晚上收到数据库一封告警邮件SQL Server Alert System: 'Severity 016' occurred o... 阅读全文
[翻译] 聚集索引表 VS 堆表
2014-08-19 23:21 by 潇湘隐者, 4834 阅读, 收藏,
摘要:
前言: 本文对这篇博客Clustered Tables vs Heap Tables 的翻译, 如有翻译不对或不好的地方,敬请指出,大家一起学习进步。 问题描述 创建一个新表时,一个非常重要的设计原则就是创建还是不创建聚集索引的决定。没有聚集索引的表被称为堆,拥有聚集索引的表叫聚集索引表。 聚集索引表比堆表拥有一些好处(优势),比如聚集索引表是基于聚集索引键顺序存储的,正因为如此,所以通过聚集... 阅读全文
Attempt to fetch logical page (...) in database 2 failed. It belongs to allocation unit xxxx not to xxx
2014-07-29 22:19 by 潇湘隐者, 3228 阅读, 收藏,
摘要:
今天一个同事说在一个生产库执行某个存储过程,遇到了错误: Fatal error 605 occurred at jul 29 2014 我试着执行该存储过程,结果出现下面错误,每次执行该存储过程,得到的错误内容都不一样(page变化,还有就是allocation unit)变化 消息 605,级别 21,状态 3,过程 usp_xxxxxxxxx,第 228 行 Attempt to ... 阅读全文
SQL Server 中VARCHAR(MAX)变量赋值引起的性能问题。
2014-07-25 16:17 by 潇湘隐者, 10173 阅读, 收藏,
摘要:
案例环境: 操作系统版本 : Windows Server 2008 R2 Standard SP1 数据库版本 : Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 案例介绍: 由于不能将生产环境的代码和数据贴上来,所以我构造了下面一个小案例,当然没法和生产环境的案例一致。只能是接近而已。但是足以反映问题本质就足够了。 DRO... 阅读全文
SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例
2014-07-17 23:17 by 潇湘隐者, 4985 阅读, 收藏,
摘要:
前几天在在桦仔的SQLSERVER走起微信公众帐号看到一篇文章MS SQL Server2014链接MS SQL Server 2000,当时手机上囫囵吞枣看了个大概,知道是由于SQL SERVER Native Client版本问题,没想到不过几天,自己就一脚踩到这个坑里面了,真是感概万千,下文主要讲述一下SQL SERVER Native Client 10的安装过程。 网上搜索SQL ... 阅读全文
SQL SERVER 2005删除维护作业报错:The DELETE statement conflicted with the REFERENCE constraint "FK_subplan_job_id"
2014-07-17 21:56 by 潇湘隐者, 5780 阅读, 收藏,
摘要:
案例环境: 数据库版本: Microsoft SQL Server 2005 (Microsoft SQL Server 2005 - 9.00.5000.00 (X64) ) 案例介绍: 对一个数据库实例做清理工作时,发现有一个很久之前禁用的数据库维护作业,于是遂删除该作业,但是删除该作业时,遇到如下错误: 脚本删除操作: USE [msdb]GOEXEC msdb.dbo.sp_de... 阅读全文
YourSQLDba 配置——修改备份路径
2014-07-15 23:18 by 潇湘隐者, 1710 阅读, 收藏,
摘要:
公司一直使用YourSQLDba做本地备份,磁带机将本地备份文件上带做异地容灾备份。近期整理、验证备份时发现本地备份目录命名五花八门 其中有历史原因,也有无规划化的缘故,看着这些五花八门的目录,越看越不顺眼。于是想统一规范化。备份目录统一为DB_BACKUP,完整备份位于FULL_BACKUP子目录,事务日志备份位于LOG_BACKUP子目录下。例如如下所示: 完整备份目录 :G:\D... 阅读全文
浅析SQL SERVER执行计划中的各类怪相
2014-07-11 15:30 by 潇湘隐者, 5535 阅读, 收藏,
摘要:
在查看执行计划或调优过程中,执行计划里面有些现象总会让人有些疑惑不解: 1:为什么同一条SQL语句有时候会走索引查找,有时候SQL脚本又不走索引查找,反而走全表扫描? 2:同一条SQL语句,查询条件的取值不同,它的执行计划会一致吗? 3: 同一条SQL语句,其执行计划会变化,为什么 4: 在查询条件的某个或几个字段上创建了索引,执行计划就一定会走该索引吗? 5:同时存在几个索引... 阅读全文
Reporting Service 服务启动时报错The service did not respond to the start or control request in a timely fashion
2014-06-20 14:10 by 潇湘隐者, 22892 阅读, 收藏,
摘要:
案例环境: 启动一台数据库服务器(Windows Server 2003)的Reporting Service(SQL Server 2008 R2)服务时,出现如下错误信息: System.InvalidOperationException: Cannot start service ReportServer on computer 'xxx'. ---> System.Componen... 阅读全文
SQL Server 2008 标准版不支持Reporting Services的数据驱动订阅
2014-06-18 10:34 by 潇湘隐者, 1486 阅读, 收藏,
摘要:
今天开发同事找我,说为什么Reporting Services服务器的报表管理的订阅选项里面只有”新建订阅“选项, 没有”数据驱动订阅"选项,说实话,我也基本上没有用过这项功能,于是去官方文档查看关于“数据驱动订阅”的一些知识。 搞了半天,原来SQL Server 2008只有Evaluation、Developer、Enterprise三个版本支持这个功能,标准版本以及具有高级服务的 SQL... 阅读全文
Linked Server: EXECUTE permission denied on object 'xp_prop_oledb_provider', database 'master', owner 'dbo'
2014-06-18 09:08 by 潇湘隐者, 2838 阅读, 收藏,
摘要:
问题出现环境: 使用SQL Server Management Studio 2008 连接到SQL Server 2000的数据库,点击其中一个Oracle链接服务器,单击“目录”时,Linked Server弹出如下错误信息.使用另外一个拥有sysadmin角色的账号登录检查发现没有此类问题。 错误详细信息如下所示:有用的信息只有一条:EXECUTE permission denied o... 阅读全文
[翻译]——SQL Server使用链接服务器的5个性能杀手
2014-06-08 09:18 by 潇湘隐者, 4948 阅读, 收藏,
摘要:
前言: 本文是对博客http://www.dbnewsfeed.com/2012/09/08/5-performance-killers-when-working-with-linked-servers/的翻译, 如有翻译不对或不好的地方,敬请指出,大家一起学习进步。尊重原创和翻译劳动成果,转载时请注明出处。谢谢! 当使用链接服务器(Linked Servers)时,最昂贵的代价就是网络带宽间... 阅读全文
SQL Server 监控统计阻塞脚本信息
2014-05-28 11:17 by 潇湘隐者, 4497 阅读, 收藏,
摘要:
数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大。阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象。 但是阻塞的时间和出现频率要控制在一定的范围内,阻塞持续的时间过长或阻塞出现过多(过于频繁),就会对数据库性能产生严重的影响。 很多时候,DBA需要知道数据库在出现性能问题时,有没有发生阻塞? 什么时候... 阅读全文
Win7 安装SQL SERVER 2012需要SP1补丁
2014-05-12 10:30 by 潇湘隐者, 15533 阅读, 收藏,
摘要:
在操作系统Win7上安装SQL Server 2012时,报如下错误:也就是说SQL Server 2012如要要安装在Windows 7 上,则至少需要安装SP1补丁。否则就会弹出上面提示信息。关于安装SQL Server 2012的硬件和软件的要求,MSDN有详细的说明:下面内容摘抄自MSDN... 阅读全文
SQL SERVER出现大量一致性错误的解决方法
2014-04-29 16:05 by 潇湘隐者, 9505 阅读, 收藏,
摘要:
如果DBCC CHECKDB发现了比较少的一致性错误,可以使用 DBCC UPDATEUSAGE(DatabaseName,"dbo.ObjectName"); 语句逐个针对表或索引中的每个分区更正行、已用页、保留页、叶级页和数据页的计数。但是如果数据库出现大量一致性错误。例如如下所示:DBCC ... 阅读全文
MS SQL统计信息浅析下篇
2014-04-25 15:05 by 潇湘隐者, 2084 阅读, 收藏,
摘要:
MS SQL统计信息浅析上篇对SQL SERVER 数据库统计信息做了一个整体的介绍,随着我对数据库统计信息的不断认识、理解,于是有了MS SQL统计信息浅析下篇。 下面是我对SQL Server统计信息的一些探讨或认识,如有不对的地方,希望大家能够指正。 触发统计信息更新条件疑问 关于这个触发统计信息更新的条件。因为我在很多资料上看到过,例如Microsoft ... 阅读全文
如何查看Windows服务器运行了多长时间
2014-04-19 17:11 by 潇湘隐者, 49141 阅读, 收藏,
摘要:
前言:有时候管理、维护Windows服务器需要定期重启服务器(为什么需要重启,你懂的),但是这个“定期”有时候会受很多因素影响,例如某台服务器忘了重启;某台服务器那个时间段业务繁忙,不能重启;那个时间段你忘了重启服务器.....。 诸如此类。当你的Schedule被打乱了。这个时候,你就需要查看服务器运行了多长时间,下面介绍一下如何查看Windows服务器运行时间的方法 方法一:如果这台Wind... 阅读全文
SQL SERVER 2012 从Enterprise Evaluation Edtion 升级到 Standard Edtion SP1
2014-03-28 14:57 by 潇湘隐者, 11986 阅读, 收藏,
摘要:
案例背景:公司从意大利购买了一套中控系统,前期我也没有参与其中(包括安装、实施都是第三方),直到最近项目负责人告诉我:前期谈判以为是数据库的License费用包含在合同中,现在经过确认SQL Server 数据库的License需要我们这边提供。等我连接到该数据库服务器检查时,发现数据库版本为2012 Enterprise Evaluation Edition (64-bit),而公司现在只购买了2012 Standard Edition 。那么我现在需要安装SQL SERVER 2012 Standard Edition。 刚开始我在纠结是卸载该版本后重新安装还是是否可以通过“Edit... 阅读全文
杀毒软件导致YourSQLDba备份失败
2014-03-24 12:10 by 潇湘隐者, 921 阅读, 收藏,
摘要:
有一朋友咨询我,他配置的YourSQLDba 备份作业经常出现备份失败的情况,我帮忙查看了一下,首先从告警邮件中查看出错的具体信息,执行了下面SQL语句(来自于告警邮件) Exec YourSQLDba.dbo.ShowHistory @JobNo = 37732, @DispLimit = 1, @FilterErr = 1 最后一行的详细信息如下所示:> -- This line is NULL in the command output. If an Antivirus runs on the SQL server ; check that backup directory is 阅读全文
浙公网安备 33010602011771号