代码改变世界

随笔分类 -  数据库技术(MS SQL)

化繁为简——分解复杂的SQL语句

2015-10-07 00:12 by 潇湘隐者, 15129 阅读, 收藏,
摘要: 今天同事咨询一个SQL语句,如下所示,SQL语句本身并不复杂,但是执行效率非常糟糕,糟糕到一塌糊涂(执行计划也是相当复杂)。如果查询条件中没有NOT EXISTS部分,倒是不要一秒就能查询出来。 SELECT * FROM dbo.UVW_PDATest a WITH(NOLOCK)WHERE Remark='前纺' AND Operation_Name='粗纱' AND One_Status... 阅读全文

SQL SERVER中什么情况会导致索引查找变成索引扫描

2015-09-14 09:12 by 潇湘隐者, 11414 阅读, 收藏,
摘要: SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试、总结、归纳。 1:隐式转换会导致执行计划从索引查找(Index Seek)变为索引扫描(Index Scan) Implicit Conversion will cause index scan instead of ind... 阅读全文

Cannot set a credential for principal 'sa'. (Microsoft SQL Server,错误: 15535)

2015-08-27 10:46 by 潇湘隐者, 1905 阅读, 收藏,
摘要: 在SQL SERVER 2008上上禁用sa登录时,遇到下面错误:“Cannot set a credential for principal 'sa'. (Microsoft SQL Server,错误: 15535)” 官方文档https://support.microsoft.com/zh-cn/kb/956177 分析了原因以及解决方案。 出现原因 如果在登录属性-sa对话框的常规选... 阅读全文

Provider:SSL Provider,error:0-等待的操作过时

2015-08-05 11:41 by 潇湘隐者, 9542 阅读, 收藏,
摘要: 今天一同事使用SSMS 2012 连接数据库时,遇到了“provider:SSL Provider,error:0-等待的操作过时”,搜索了一下,遇到一哥 们也遇到这个问题:SQLServer 2012 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。 在cmd命令窗口输入... 阅读全文

Reporting Service 告警"w WARN: Thread pool pressure. Using current thread for a work item"

2015-08-04 15:32 by 潇湘隐者, 722 阅读, 收藏,
摘要: 如果Reporting Service偶尔出现不可访问或访问出错情况,这种情况一般没有做监控的话,很难捕捉到。出现这种问题,最好检查Reporting Service的日志文件。 今天早上就遇到这样一个案例,应用程序监控到调用SQL SERVER 2005的Reporting Service出现Method failed: HTTP/1.1 500 Internal Server Err... 阅读全文

SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析

2015-08-02 18:31 by 潇湘隐者, 12942 阅读, 收藏,
摘要: 在SQL SERVER的查询语句中使用OR是否会导致不走索引查找(Index Seek)或索引失效(堆表走全表扫描 (Table Scan)、聚集索引表走聚集索引扫描(Clustered Index Scan))呢?是否所有情况都是如此?又该如何优化呢? 下面我们通过一些简单的例子来分析理解这些现象。下面的实验环境为SQL SERVER 2008,如果在不同版本有所区别,欢迎指正。 堆表单索... 阅读全文

作业配置规范文档[MS SQL]

2015-08-02 16:28 by 潇湘隐者, 1400 阅读, 收藏,
摘要: 作业配置规范文档(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 潇湘隐者, 16817 阅读, 收藏,
摘要: 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 潇湘隐者, 11299 阅读, 收藏,
摘要: 本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症。可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? 每个公司都会有一两个几乎快被人遗忘的系统,接手维护这些系统的人可能都不知换了多少批了。它们的命运注定慢慢消亡。然而偏偏却又生命力顽强,总还有一些人在使用着这些系统。所以就处在一种尴尬的... 阅读全文

SSRS Reports 2008性能优化案例二

2015-07-17 16:12 by 潇湘隐者, 1625 阅读, 收藏,
摘要: 前几天一同事反映海外工厂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 潇湘隐者, 3186 阅读, 收藏,
摘要: 开发人员遇到一个及其诡异的的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 潇湘隐者, 6965 阅读, 收藏,
摘要: 开发人员测试时,发现生产服务器与测试服务器执行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 潇湘隐者, 44806 阅读, 收藏,
摘要: 其实本来这个问题没有什么好说的,今天优化的时候遇到一个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 潇湘隐者, 1170 阅读, 收藏,
摘要: 案例环境: 服务器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 潇湘隐者, 4471 阅读, 收藏,
摘要: 在新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 潇湘隐者, 39375 阅读, 收藏,
摘要: 在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 潇湘隐者, 2217 阅读, 收藏,
摘要: 今天收到一封邮件说我们的一台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 潇湘隐者, 1748 阅读, 收藏,
摘要: 在测试服务器还原生产服务器的一个数据库时遇到了下面错误: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 ( ... 阅读全文
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 20 下一页