随笔分类 -  SQL

(转)SQL Server内存遭遇操作系统进程压榨案例
摘要:原文地址:http://www.cnblogs.com/zc_0101/p/3592259.html场景: 最近一台DB服务器偶尔出现CPU报警,我的邮件报警阈(请读yù)值设置的是15%,开始时没当回事,以为是有什么统计类的查询,后来越来越频繁。探索: 我决定来查一下,究竟是什么在作怪,我排查的顺序如下: 1、首先打开Cacti监控,发现最近CPU均值在某天之后骤然上升,并且可以看到System\Processor Queue Length和sqlservr\%ProcessorTime 也在显著的变化。 2、从最容易入手的低效SQL开始,考虑是不是最近业务做了什么修改?连接到该. 阅读全文

posted @ 2014-03-13 12:21 黑子范

(转)对存储过程进行加密和解密(SQL 2008/SQL 2012)
摘要:原文地址:http://www.cnblogs.com/wghao/archive/2012/12/30/2837642.html开始:在网络上,看到有SQL Server 2000和SQL Server 2005 的存储过程加密和解密的方法,后来分析了其中的代码,发现它们的原理都是一样的。后来自己根据实际的应用环境,编写了两个存储过程,一个加密存储过程(sp_EncryptObject),和一个解密存储过程(sp_EncryptObject),它们可以应用于SQL Server中的储过程,函数,视图,以及触发器。感觉这两个存储过程蛮有意思的,拿来与大家分享;如果你看过类似的,就当作重温一下也 阅读全文

posted @ 2013-09-22 18:12 黑子范

(转)怎样玩转千万级别的数据
摘要:原文地址:http://www.cnblogs.com/xcj26/p/3305789.html 大数据处理是一个头疼的问题,特别当达不到专业DBA的技术水准时,对一些数据库方面的问题感到无赖。所以还是有必要了解一些数据库方面的技巧,当然,每个人都有自己的数据库方面的技巧,只是八仙过海,所用的武功不同而已。我把我最常用的几种方式总结来与大家分享,大家还有更多的数据库设计和优化的技巧,尽量的追加到评论中,有时一篇完整的博客评论比主题更为精彩。方法1:采用表分区技术。 第一次听说表分区,是以前的一个oracle培训。oracle既然有表分区,就想到mssql是否有表的分区,当时我回家就goog.. 阅读全文

posted @ 2013-09-13 23:24 黑子范

(转)SQL Server上的一个奇怪的Deadlock及其分析方法
摘要:原文地址:http://blogs.msdn.com/b/apgcdsd/archive/2012/02/28/sql-server-deadlock.aspx最近遇到了一个看上去很奇怪,分析起来很有意思的死锁问题。这个死锁看上去难以理解。而分析过程中,又使用了很多分析SQL Server死锁的典型方法。记录下来整个分析过程还是很有意义的。问题重现步骤:经过提炼,问题重现的步骤非常简单,在SQL 2008上可以很容易地重现。首先,创建一张表格,上面有一个clustered index,两个non-clustered index。create table tt(id int identity p 阅读全文

posted @ 2013-06-20 23:22 黑子范 阅读(497) 评论(0) 推荐(0)

(转)令人无法理解的死锁案例分析
摘要:原文地址:http://www.cnblogs.com/nzperfect/archive/2011/09/26/2192006.html最近遇到一个update时产生死锁的情况,两条一模一样的sql同时执行时,居然会产生Deadlock。windows 2003 server x64 + sql server 2008 sp2 Enterprise X64示例(实际环境与该表相似):当两个进程同时执行下面的语句时,在高并发下会产生死锁:updatettwith(rowlock)setc='eb',d='cc'wherea='84B23855-2155- 阅读全文

posted @ 2013-06-20 23:20 黑子范 阅读(183) 评论(0) 推荐(0)

(转)关于Update语句的锁
摘要:原文地址:http://www.cnblogs.com/wdfrog/p/3144020.html环境:MSSQL2005,在Read Committed级别语句A:begin tranUpdate Table Set f1='xxx' where f2='ttt' --更新一行或多行--commit; //注意为了看到效果这里把commit注释了语句A影响的行集合为B该语句造成的影响1.该语句会阻塞,查询结果集合含有任意B集合中的行的select 语句2.该语句会阻塞,对该表其它行(B集合以外)进行Update操作的语句语句B:Update Table Set 阅读全文

posted @ 2013-06-20 23:17 黑子范 阅读(271) 评论(0) 推荐(0)

(转)常见存储过程分页PK赛——简单测试分析常见存储过程分页速度
摘要:原文地址:http://www.cnblogs.com/yangyy753/archive/2013/01/23/2872753.html数据的分页是我们再熟悉不过的功能了,各种各样的分页方式层出不穷。今天我把一些常见的存储过程分页列出来,再简单地测一下性能,算是对知识的总结,也是对您好想法的抛钻引玉。废话不多说,开始吧~~1.首先建立一张测试表--创建测试表SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[testTable]( [id] [int] IDENTITY(1,1) NOT NULL, [... 阅读全文

posted @ 2013-06-20 23:16 黑子范 阅读(177) 评论(0) 推荐(0)

(转)菜鸟去重复之Sql
摘要:原文地址:http://www.cnblogs.com/fatbird/p/Sql-Remove-duplicate.html前言本文主要是总结平时工作学习中遇到的使用Sql Server的去除重复的心得体会。由于平时工作使用Sql并不多,此次在写本文的测试过程中,就遇到了问题,如能有幸得到高手点播,将不胜感激。高手可以直接看个开头,直接跳过文章内容,点到后面的遇到的问题,辛苦!准备本文使用的工具是SQL SERVER 2008,使用的是微软的案例Northwind,选取的数据集以Products表的前10条数据为例,如下图:Distinct根据之后紧跟关键字distinct后的字段去除重复, 阅读全文

posted @ 2013-06-20 23:13 黑子范 阅读(253) 评论(0) 推荐(0)

(转)Sql Server参数化查询之where in和like实现详解
摘要:原文地址:http://www.cnblogs.com/lzrabbit/archive/2012/04/22/2465313.html文章导读拼SQL实现where in查询使用CHARINDEX或like实现where in 参数化使用exec动态执行SQl实现where in 参数化为每一个参数生成一个参数实现where in 参数化使用临时表实现where in 参数化like参数化查询xml和DataTable传参身为一名小小的程序猿,在日常开发中不可以避免的要和where in和like打交道,在大多数情况下我们传的参数不多简单做下单引号、敏感字符转义之后就直接拼进了SQL,执行查 阅读全文

posted @ 2013-05-19 23:32 黑子范 阅读(172) 评论(0) 推荐(0)

(转)常见存储过程分页PK赛——简单测试分析常见存储过程分页速度
摘要:原文地址:http://www.cnblogs.com/yangyy753/archive/2013/01/23/2872753.html数据的分页是我们再熟悉不过的功能了,各种各样的分页方式层出不穷。今天我把一些常见的存储过程分页列出来,再简单地测一下性能,算是对知识的总结,也是对您好想法的抛钻引玉。废话不多说,开始吧~~1.首先建立一张测试表--创建测试表SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[testTable]( [id] [int] IDENTITY(1,1) NOT NULL, [... 阅读全文

posted @ 2013-01-28 12:13 黑子范 阅读(160) 评论(0) 推荐(0)

(转)用扩展方法优化多条件查询
摘要:原文地址:http://www.cnblogs.com/Gamain/archive/2012/11/21/2780413.html在我们开发过程中,特别是管理系统的开发,经常会遇到多条件查询(或者叫不定条件查询)的案例,就是提供给User输入的查询条件有多个不同的查询栏位,而且,在实际使用中并不能确定User会使用哪些条件来当做搜索条件。 下图就是我们实际项目中一个查询页面的截图,User在实际操作中,有可能会只根据[扣帐编号]查询,那么,只要在[扣帐编号]栏位输入号码,其他栏位留空即可,那么查询语句就只卡[扣帐编号]这条条件也有可能直接根据日前范围查询,只要输入起始日期即可。当然,... 阅读全文

posted @ 2012-11-27 15:02 黑子范 阅读(247) 评论(0) 推荐(0)

(转)SQL Server复制入门(一)----复制简介
摘要:原文地址:http://www.cnblogs.com/CareySon/archive/2012/06/20/IntroductToSQLServerReplicationPart1.html简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是一些列技术的集合,包括从存储转发数据到同步数据到维护数据一致性。使用复制功能不仅仅需要你对业务的熟悉,还需要对复制功能的整体有一个全面的了解,本系列文章旨在对SQL Server中的复制进行一个简单全面的探讨。(PS:在我的上篇文章中我发现某些文章的图片使. 阅读全文

posted @ 2012-06-22 17:52 黑子范 阅读(187) 评论(0) 推荐(0)

(转)sql server批量插入与更新两种解决方案
摘要:xml和表值函数的相对复杂些这里简单贴一下bcp和SqlDataAdapter进行批量跟新插入方法,未经整理还望见谅若只是需要大批量插入数据使用bcp是最好的,若同时需要插入、删除、更新建议使用SqlDataAdapter我测试过有很高的效率,一般情况下这两种就满足需求了bcp方式/// <summary>/// 大批量插入数据(2000每批次)/// 已采用整体事物控制/// </summary>/// <param name="connString">数据库链接字符串</param>/// <param name=& 阅读全文

posted @ 2012-05-09 15:22 黑子范 阅读(486) 评论(0) 推荐(0)

(转)关于SQL SERVER数据同步自己的一些设计经验
摘要:原文地址:http://www.cnblogs.com/thtfria/archive/2012/04/04/2432167.html不过这个项目已经过去N天但是数据同步部分起初是我的一些设计思想。这个项目是某电力公司的一卡通项目,这个项目将来需要在全国20几个分厂都要做。 按照项目的要求基础数据在总部存储,然后同步到各个分厂。里面一些详细的需求不详说了。直接进入正题。 同步方式:数据库之间的同步,不再做程序上的干涉了。 实现步骤: 1、总部的表建立触发器,来记录对表的增、删、改的动作,将动作记录到一张中间表中(中间表需要加一个同步标记的字段来表示数据是否已经被同步过)CR... 阅读全文

posted @ 2012-04-06 11:43 黑子范 阅读(257) 评论(0) 推荐(0)

(转)SQL Server 2005 性能优化实战系列(文章索引)
摘要:原文地址:http://www.cnblogs.com/gaizai/archive/2012/01/20/2327814.html前言性能优化是数据库方向一个很重要的技能,这也是快速提供企业级应用性能最快捷的方式,所以性能优化的高低很大程度上表现了个人技能的高低。下面的文章是我在实际项目中性能优化的一些经验,希望对那些需要实战帮助的童鞋有一点提示和帮助。希望大家拍砖。 系列文章索引SQL Server 2005表分区实战系列(文章索引)SQL Server 数据库服务器高性能设置SQL Server 2005 扩展函数的基本概念SQL Server 2005 使用扩展函数进行性能优化SQL. 阅读全文

posted @ 2012-01-21 02:15 黑子范 阅读(163) 评论(0) 推荐(0)

(转)PowerDesigner15使用时的十五个问题
摘要:原文地址:http://www.cnblogs.com/netsql/archive/2010/05/28/1746586.htmlPowerDesigner的主要作用一般还是数据库建模,并生成对应的数据库设计文档,可以与数据库保持同步。一般常用的有CDM,PDM,UML建模,CDM可以转为PDM。支持正向[生成数据库]和逆向工程[从数据库中生成],并直接关联到到数据库中,PDM可以直接和数据库进... 阅读全文

posted @ 2010-05-29 11:07 黑子范 阅读(315) 评论(0) 推荐(0)

(转)SqlDependency学习笔记
摘要:原文地址:http://www.cnblogs.com/yjmyzz/archive/2009/06/14/1502921.htmlsqlDependency提供了这样一种能力:当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的.快速上手可参见园友的下列文章http://www.cnblogs.co... 阅读全文

posted @ 2010-05-18 18:17 黑子范 阅读(304) 评论(0) 推荐(1)

(转)SQL2005日志收缩办法
摘要:1.选中数据库,右键属性/选项,把恢复模式从“完整”改为“简单”。2.选中数据库,右键任务/收缩文件,选择日志文件,设置将文件收缩为0M,确定。3.再将恢复模式从“简单”->“完整”即可。 阅读全文

posted @ 2010-04-13 14:24 黑子范 阅读(261) 评论(0) 推荐(0)

导航