摘要:
在SQL SERVER的查询语句中使用OR是否会导致不走索引查找(Index Seek)或索引失效(堆表走全表扫描 (Table Scan)、聚集索引表走聚集索引扫描(Clustered Index Scan))呢?是否所有情况都是如此?又该如何优化呢? 下面我们通过一些简单的例子来分析理解这些现象。下面的实验环境为SQL SERVER 2008,如果在不同版本有所区别,欢迎指正。 堆表单索... 阅读全文
随笔分类 - 数据库技术(MS SQL)
作业配置规范文档[MS SQL]
2015-08-02 16:28 by 潇湘隐者, 1376 阅读, 收藏,
摘要:
作业配置规范文档(MS SQL) 文档类型 MS SQL数据库作业配置规范文档 创建日期 2015-07-30 版本变化 V3.0 修改记录 修改人 修改日期 版本 修改描述 潇湘隐者 2015-08-01 V1.0 创建制定文档 潇湘隐者 2015-08-13 V2.0 修改部分内容,例如Schedule命名 ... 阅读全文
SQL Server中的“最大并行度”的配置建议
2015-07-31 16:26 by 潇湘隐者, 16726 阅读, 收藏,
摘要:
SQL Server中的最大并行度(max degree of parallelism)如何设置呢? 设置max degree of parallelism有什么好的建议和指导方针呢?在微软官方文档Recommendations and guidelines for the "max degree ... 阅读全文
SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑
2015-07-22 16:35 by 潇湘隐者, 11241 阅读, 收藏,
摘要:
本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症。可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? 每个公司都会有一两个几乎快被人遗忘的系统,接手维护这些系统的人可能都不知换了多少批了。它们的命运注定慢慢消亡。然而偏偏却又生命力顽强,总还有一些人在使用着这些系统。所以就处在一种尴尬的... 阅读全文
SSRS Reports 2008性能优化案例二
2015-07-17 16:12 by 潇湘隐者, 1592 阅读, 收藏,
摘要:
前几天一同事反映海外工厂A的SSRS报表比较慢,让我检查优化一下。于是我检查了下2015-07-13到2015-07-15 12:00这段时间报表的耗时记录 USE [ReportServer]; GO SELECT C.Name AS ReportName ,E.ReportID ... 阅读全文
SQL SERVER 2012 执行计划走嵌套循环导致性能问题的案例
2015-07-04 11:48 by 潇湘隐者, 3141 阅读, 收藏,
摘要:
开发人员遇到一个及其诡异的的SQL性能问题,这段完整SQL语句如下所示: declare @UserId INTdeclare @PSANo VARCHAR(200)declare @ShipMode VARCHAR(10)declare @CY_FLAG VARCHAR(1)declare @P... 阅读全文
SELECT CAST(GETDATE() AS VARCHAR(10)) 显示不同格式的原因
2015-06-29 20:14 by 潇湘隐者, 6934 阅读, 收藏,
摘要:
开发人员测试时,发现生产服务器与测试服务器执行SELECT CAST(GETDATE() AS VARCHAR(10))语句显示的格式不一样。如下所示 Server A Server B 其实出现这个问题,是因为登录名(login)的语言不一致所致,如下所示 可以使用下面SQL语句来检查对应的默认语言 SELECT @@LANGUAGE 或 SELECT loginname,name... 阅读全文
sp_addlinkedserver '(null)' is an invalid product name
2015-06-23 12:03 by 潇湘隐者, 2008 阅读, 收藏,
摘要:
使用SSMS 2008客户端工具逆向生成了创建链接服务器的脚本时,在测试环境执行是报如下错误:'(null)' is an invalid product name. USE [master]GOIF EXISTS (SELECT srv.NAME FROM sys.servers srv WHERE srv.server_id != 0 ... 阅读全文
SQL SERVER 中is null 和 is not null 将会导致索引失效吗?
2015-06-04 00:01 by 潇湘隐者, 44740 阅读, 收藏,
摘要:
其实本来这个问题没有什么好说的,今天优化的时候遇到一个SQL语句,因为比较有意思,所以我截取、简化了SQL语句,演示给大家看,如下所示 declare @bamboo_Code varchar(3); set @bamboo_Code='-01'; SELECT DISTINCT yarn_lotFROM dbo.rsjob WITH ( nolock )WHERE RIGHT(... 阅读全文
SQL SERVER 2000通过链接服务器发送邮件出现错误
2015-05-28 12:19 by 潇湘隐者, 1134 阅读, 收藏,
摘要:
案例环境: 服务器A系统: Windows Server 2000 数据库版本 : Microsoft SQL Server 2000 - 8.00.2282 (Intel X86) 服务器B系统: Windows Server 2003 数据库版本 : Microsoft SQL Server... 阅读全文
Unable to open the physical file xxxx. Operating system error 2
2015-05-27 17:19 by 潇湘隐者, 4425 阅读, 收藏,
摘要:
在新UAT服务器上,需要将tempdb放置在SSD(固态硬盘)上。由于SSD(固态硬盘)特性,所以tempdb的文件只能放置在D盘下面,而不能是D盘下的某一个目录下面。 ALTER DATABASE tempdbMODIFY FILE(name='tempdev', filename='D:\tempdb.mdf') ; GO ALTER DATABASE tempdbMODIFY FI... 阅读全文
SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)
2015-05-13 23:54 by 潇湘隐者, 39303 阅读, 收藏,
摘要:
在SSMS(Microsoft SQL Server Management Studio)里面,查看数据库对应的表的时候,会遇到“Lock Request time out period exceeded.(Microsoft SQL Server, 错误1222)”,对应的中文错误提示为“已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)”,如下截图... 阅读全文
xp_sendmail: 由于邮件错误 0x80004005 而失败
2015-03-30 15:46 by 潇湘隐者, 2174 阅读, 收藏,
摘要:
今天收到一封邮件说我们的一台SQL SERVER 2000服务器发送邮件有问题。我测试中发现了如下错误: exec xp_sendmail 'Konglb@esquel.com','hello, 123' xp_sendmail:由于邮件错误0x80004005而失败解决方法 一直对手头的SQL SERVER 2000服务器关注比较少。之前这台服务器也偶尔会出现发送不了邮件的问题,一... 阅读全文
RESTORE detected an error on page (0:0) in database
2015-03-18 11:13 by 潇湘隐者, 1717 阅读, 收藏,
摘要:
在测试服务器还原生产服务器的一个数据库时遇到了下面错误:System.Data.SqlClient.SqlError: RESTORE detected an error on page (0:0) in database "xxxx" as read from the backup set. (... 阅读全文
SQL SERVER 重组含有特殊字符的索引时遇到“关键字 'with' 附近有语法错误.”
2015-03-08 23:54 by 潇湘隐者, 14523 阅读, 收藏,
摘要:
案例描述 这是在索引重组过程中遇到的有意思的错误案例,搜索了一下也没有看到相关资料,估计我第一个碰到这类错误的人(It's just a joke)。具体情况是YourSQLDba在做维护数据库索引时遇到了索引重组错误,然后我排查时就发现了这个案例。我下面用一个简单的测试例子演示一下具体情况。 数据库版本: SQL SERVER 2005 CREATE TABLE TEST ( ... 阅读全文
SQL Server修改数据库对象所有者(Owner)浅析
2015-03-04 23:53 by 潇湘隐者, 13609 阅读, 收藏,
摘要:
在SQL Server数据库中如何修改数据库对象(表、视图、存储过程..)的所有者(Owner)呢?一般我们可以使用系统提供的系统存储过程sp_changeobjectowner来修改。 我们先看看sp_changeobjectowner在MSDN的文档介绍吧 更改当前数据库中对象的所有者。 重要提示:此存储过程只针对 Microsoft SQL Server 2000 中可用的对象进行。... 阅读全文
YourSQLDba备份失败案例锦集
2015-03-02 12:06 by 潇湘隐者, 920 阅读, 收藏,
摘要:
使用YourSQLDba做备份、维护、管理时,偶尔会收到一些备份失败的邮件。导致YourSQLDba备份失败的情况比价多,打算在此篇中对YourSQLDba备份失败的案例做一些总结、整理。 1:YourSQLDba由于事务日志满了。具体情况如下: 检查YourSQLDba备份失败日志信息,你会看到下面这类错误信息。 The transaction log for database 'x... 阅读全文
服务器重启后SQL Server Agent由于"The EventLog service has not been started" 启动失败
2015-02-27 09:13 by 潇湘隐者, 2497 阅读, 收藏,
摘要:
案例环境: 操作系统 : Microsoft Windows Server 2003 Standard Edtion SP2 数据库版本 : SQL Server 2005 Standard Edition SP4 案例描述: 服务器重启过后,MSSQLSERVER服务自动重启了,但是SQLSERVERAGENT服务启动失败(当然SQL Agent服务的启动类型为自... 阅读全文
SQL SERVER特殊行转列案列一则
2015-02-11 14:01 by 潇湘隐者, 1400 阅读, 收藏,
摘要:
今天有个同事找我,他说他有个需求,需要进行行转列,但是又跟一般的行转列有些区别,具体需求如下所说,需要将表1的数据转换为表2的显示格式. 我想了一下,给出了一个解决方法,具体如下所示(先给出测试数据) INSERT INTO TEST SELECT 1, 1, '定型名称', '预定型' UNION ALLSELECT 1, 2, '进布... 阅读全文
SSRS ReportServer Database 的Blocking问题
2015-02-10 23:58 by 潇湘隐者, 1720 阅读, 收藏,
摘要:
我们监控SQL SERVER数据库的阻塞情况时,老是收到在SSRS 里面出现SQL阻塞情况,刚开始由于事情多,没有太关注ReportServerTempDB里面的会话阻塞情况,但是老是出现这种频繁阻塞情况,不得不仔细研究一下SSRS的Blocking问题。 Blocking SQL Text CREATE PROCEDURE [dbo].[Writelocksession] @Se... 阅读全文
浙公网安备 33010602011771号