代码改变世界

[置顶]二、八、十、十六进制转换(图解篇)

2015-01-19 14:46 by 听风吹雨, 338619 阅读, 85 推荐, 收藏, 编辑
摘要: 之前使用SQL把十进制的整数转换为三十六进制,SQL代码请参考:SQL Server 进制转换函数,其实它是基于二、八、十、十六进制转换的计算公式的,进制之间的转换是很基础的知识,但是我发现网络上没有一篇能把它说的清晰、简单、易懂的文章,所以我才写这篇文章的念头,希望能让你再也不用担心、害怕进制之间的转换了。   下面是二、八、十、十六进制之间关系的结构图: 阅读全文

[置顶]SQL Server 系列文章快速导航(SWF版)

2014-11-10 15:46 by 听风吹雨, 5787 阅读, 8 推荐, 收藏, 编辑
摘要: 一.前言 在博客园写博客不自不觉已经有5个年头了,一开始只是为了记录工作中遇到的问题和解决办法,后来写的文章不自不觉的侧重在SQL Server方面的技术文章,在2014年1月终于鼓起勇气申请了微软SQL Server方面的最有价值专家(MVP),并荣幸的在4月份获得此殊荣。   今天整理了下文章,为了让大家更容易检索到(这里指人而不是所谓的SEO)我的文章,所以生成了一份SWF,以图形的方式,大家可以通过里面的链接快速进入文章,而且大家也可以下载这份SWF到本地,同样可以快速浏览。 阅读全文

[置顶]谈谈我的微软特约稿:《SQL Server 2014 新特性:IO资源调控》

2014-07-01 10:19 by 听风吹雨, 5294 阅读, 27 推荐, 收藏, 编辑
摘要: 写这篇文章的目的是想记录这次的撰写文章的经历,其实一篇技术文章来得并不容易,之前自己写博客的随意性很强,排版可以根据自己喜好,但是一篇文章要被大家所接受,让大家愿意读完其实是一件很难的事情,所以排版还是挺重要的,这里我想提示下IT168的编辑,我的SQL代码其实是有高亮的,但是编辑发出来后发现高亮不见,阅读起来的确很不爽,估计大家也有同样的感觉。再者就是讲讲这次的技术内容,其实在SQL Server 2014之前就有资源调控器这个功能了,所以网上也不少这方面的资料,所以要写这个主题就需要找到一些新的亮点(新功能+通俗类比) 阅读全文

[置顶]微软MVP攻略 (如何成为MVP?一个SQL Server MVP的经验之谈)

2014-06-16 10:46 by 听风吹雨, 18169 阅读, 28 推荐, 收藏, 编辑
摘要: 二.初衷   搞微软技术的,大家或多或少都有听说过微软的“最有价值专家”(MVP),网上也有不少资料对这个称谓做了介绍,但是都是一些大体的描述,并没有更加细节方面的,比如申请成为MVP的流程,成为MVP有那些资料需要填写、在哪里填写等等,所以我才萌发了以一个过来人的身份写一份关于微软MVP的攻略手册,希望能为想成为MVP的你提供指引。 三.什么是微软MVP?MVP(Most Valuable Professionals,最有价值专家)是指具备一种或多种微软技术专业知识,并且积极参与在线或离线的社群活动,经常与其他专业人士分享知识和专业技能,受人尊敬、信任,而且平易近人的专家。 阅读全文

[置顶]SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

2014-05-26 16:09 by 听风吹雨, 83161 阅读, 58 推荐, 收藏, 编辑
摘要: 其实行转列并不是一个什么新鲜的话题了,甚至已经被大家说到烂了,网上的很多例子多多少少都有些问题,所以我希望能让大家快速的看到执行的效果,所以在动态列的基础上再把表、分组字段、行转列字段、值这四个行转列固定需要的值变成真正意义的参数化,大家只需要根据自己的环境,设置参数值,马上就能看到效果了(可以直接跳转至:“参数化动态PIVOT行转列”查看具体的脚本代码)。行转列的效果图如图1所示: 阅读全文

[置顶]大数据时代下的SQL Server第三方负载均衡方案----Moebius测试

2014-04-04 09:29 by 听风吹雨, 32196 阅读, 46 推荐, 收藏, 编辑
摘要: 前几天在SQL Server MVP宋大侠(宋沄剑)的一篇文章"数据库集群技术漫谈”中看到了格瑞趋势在SQL Server上的负载均衡产品Moebius,搞数据库的都知道:在Oracle上有RAC,MySQL也有对应的方案(可参考:MySQL搭建Amoeba系列),而SQL Server上直到SQL Server 2012版本的AlwaysOn到来,微软都没有提供一个负载均衡方案,我从宋大侠那里找来一个Moebius的测试版本进行一下测试,下面是我测试的过程。 阅读全文

[置顶]SQL Server 大数据搬迁之文件组备份还原实战

2014-03-05 11:15 by 听风吹雨, 14958 阅读, 33 推荐, 收藏, 编辑
摘要: 有一个数据库大概在700G左右,需要从服务器A搬迁到服务器B,两台服务器网络传输速度可以达到8MB/s,怎么做才能更快的搬迁并且宕机时间最短呢?   数据库业务逻辑概述:这个数据库只会插入数据,每天大概有300W条数据,不会对数据进行修改,只有一个表比较大,并且这个表是以自增ID作为分区依据列的,文件组会被重用,数据库为简单恢复模式,我定时会对表数据进行交换分区删除数据;三.解决方案(Solution)之前我也写过关于搬迁数据库的一些文章: 阅读全文

[置顶]SQL Server 监控系列(文章索引)

2013-12-20 16:32 by 听风吹雨, 2893 阅读, 2 推荐, 收藏, 编辑
摘要: 一.前言(Introduction) SQL Server监控在很多时候可以帮助我们了解数据库做了些什么,比如谁谁在什么时候修改了表结构,谁谁在删除了某个对象,当这些事情发生了,老板在后面追着说这是谁干的,如果你找不出元凶,那么就成为背黑锅的人了。 如果你想更了解什么时候需要对数据库做什么监控,那么我建议你看看本系列文章; 下图是一个关于SQL Server可用做监控功能的逻辑关系图: (Figure1:SQL Server可用做监控功能的逻辑关系图) 二.系列文章索引(Catalog) 阅读全文

[置顶]SQL Server 复制系列(文章索引)

2013-09-30 17:04 by 听风吹雨, 2918 阅读, 4 推荐, 收藏, 编辑
摘要: 二.前言(Introduction)   SQL Server的复制、日志传送、镜像等几个高级功能中,个人感觉复制是比较符合我的生产环境的要求的,其实搭建复制并不难,但是在网上关于:通过备份文件初始化复制、跨网段(跨机房)复制的文章会比较少,这里就着重讲讲这些内容; 三.复制逻辑结构图(Construction)   下图是一个关于SQL Server通过备份文件初始化复制的逻辑结构图:(Figure1:SQL Server备份文件初始化订阅逻辑结构图) 为了与SQL Server的复制进行对比,我们去了解下一下MySQL的Master/Slave 阅读全文

[置顶]Ubuntu12下挂载硬盘(9TB)(文章索引)

2013-02-16 17:41 by 听风吹雨, 1439 阅读, 0 推荐, 收藏, 编辑
摘要: 前言在linux下挂载硬盘,很多人说使用mount,但是这个是挂载一个硬盘,如果想让服务器可以把硬盘都挂载到同一个目录下,mount是无法实现的,但是很多应用都有某个目录的空间足够大。下面的文章就是一步步教你怎么挂载的。实战说明经过实战,已经成功挂载了9TB的空间。(Figure:磁盘信息) 系列文章索引Step1:Ubuntu12下挂载硬盘(9TB)Step2:Ubuntu12下未知驱动器处理 Step3:Ubuntu12下重新挂载硬盘 阅读全文

[置顶]Ubuntu10下MySQL搭建Amoeba系列(文章索引)

2012-06-12 18:57 by 听风吹雨, 7206 阅读, 2 推荐, 收藏, 编辑
摘要: 前言 使用了Amoeba有一段时间了,发现官方博客:Amoeba使用指南有很多地方都是错误的,在我实战中给到一些错误的指示,所以我想写些在搭建的实战中给大家一点指引。欢迎对我这个系列的文章提出批评和建议,特别是技术上的建议。 Amoeba读写分离+分片逻辑图 下面是我画得关于Amoeba读写分离和分片的逻辑图: 系列文章索引 Ubuntu10下安装JAVA JDK Ubuntu10下MySQL搭建Amoeba_基础 Ubuntu10下MySQL搭建Amoeba_分片 阅读全文

[置顶]SQL Server 性能优化实战系列(文章索引)

2012-01-20 14:54 by 听风吹雨, 9856 阅读, 12 推荐, 收藏, 编辑
摘要: 二.前言(Introduction) 性能优化是数据库方向一个很重要的技能,这也是快速提供企业级应用性能最快捷的方式,所以性能优化的高低很大程度上表现了个人技能的高低。 下面的文章是我在实际项目中性能优化的一些经验,希望对那些需要实战帮助的童鞋有一点提示和帮助。希望大家拍砖。 三.调优流程图(Process) 下图是一个关于SQL Server性能调优步骤的流程图:(Figure1:调优基本流程图) 四.系列文章索引(Catalog) 阅读全文

[置顶]SQL Server 维护计划备份主分区

2011-10-09 11:52 by 听风吹雨, 13079 阅读, 6 推荐, 收藏, 编辑
摘要: 经过一段时间表分区的实践,我们先对表进行分区(形成表分区模板);表数据搬迁模板(迁移数据到新的分区表);分区管理自动化(自动化进行交换分区);详情请见:SQL Server 表分区实战系列(文章索引) 再进一步延伸,我们就需要对这些做了表分区的库进行备份了,之前写过一篇博文:SQL Server 备份和还原全攻略,这里描述了MSSQL的一些备份概念,今天这里虽然没有用到,但是像差异备份在备份比较大的情况下使用就会有很好的效果。 阅读全文

[置顶]SQL Server 设计开发系列(文章索引)

2011-08-29 15:47 by 听风吹雨, 3766 阅读, 8 推荐, 收藏, 编辑
摘要:一.前言(Introduction)数据库的设计与开发包括了很多东西,也许就是一个设计思想:比如空间换时间方案,读写分离,水平切分表,HA群集等;开发方面就包括脚本的开发、扩展函数,涉及到一些SQL的使用。 该系列还在完善中,欢迎大家指出还缺少些什么内容的维护,我会在后面的文章中陆续补充的。二.系列文章索引(Catalog)SQL Server数据库帐号密码安全设计简单实用SQL脚本简单实用SQL脚本Part2:日期和时间函数简单实用SQL脚本Part:游标模板简单实用SQL脚本Part:查找SQL Server 自增ID值不连续记录简单实用SQL脚本Part:生成站点导航树形结构简单实用SQ 阅读全文

[置顶]SQL Server 维护管理系列(文章索引)

2011-07-15 14:52 by 听风吹雨, 3085 阅读, 6 推荐, 收藏, 编辑
摘要:一.前言(Introduction)数据库的维护其实包括很多方面,用户权限、数据备份等,这方面的积累也是必不可少的,所以这里把一些常用的的维护进行一些总结,这些文章的特点就是我会使用比较多的图片进行说明,大家看起来会比较直观。 该系列还在完善中,欢迎大家指出还缺少些什么内容的维护,我会在后面的文章中陆续补充的。二.系列文章索引(Catalog)SQL Server 数据库帐号密码生成SQL Server 维护计划实现数据库备份SQL Server 备份和还原全攻略SQL Server 数据库迁移偏方SQL Server 数据库最小宕机迁移方案SQL Server 数据库服务器高性能设置SQL 阅读全文

[置顶]SQL Server 表分区实战系列(文章索引)

2011-07-01 15:45 by 听风吹雨, 20802 阅读, 22 推荐, 收藏, 编辑
摘要: 前段时间在忙数据库的表分区,经常会去上网找资料,但是在找到都是测试表分区的文章,没有实战经验的,所以在我把表分区运用到实际项目中的时候遇到了很多问题。 比如:如何确认分区字段?分区字段与聚集索引的区别与联系?如何存储分区索引?MSDN说交换分区是以秒计算,但执行40G交换分区超时?如何解决分区不断增长的问题?自动化交换分区的陷阱? 这些问题都只能自己在实战中摸索答案,后来我写了几篇关于这些问题的博文,希望对那些需要实战帮助的童鞋有一点提示和帮助。希望大家拍砖。 阅读全文

[置顶]简单实用SQL脚本

2010-04-09 18:32 by 听风吹雨, 46872 阅读, 34 推荐, 收藏, 编辑
摘要:行列互转Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ createtabletest(idint,namevarchar(20),quarterint,profileint)insertintotestvalues(1,'a',1,1000) insertintotestvalues(1,'a',2,2000)insertintotestvalues(1,'a',3,4000)insertint 阅读全文

Windows下PowerShell监控Keepalived

2015-03-31 21:13 by 听风吹雨, 2538 阅读, 0 推荐, 收藏, 编辑
摘要:一、背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警。 二、脚本详情 1.创建名为:ping-ip.ps1的PS脚本,代码如下所示: # ping 192.168.1.51 Test-Connection 192.168.1.51 -Count 2 ... 阅读全文

QunInfo群数据库的还原与优化

2015-02-28 17:02 by 听风吹雨, 5601 阅读, 2 推荐, 收藏, 编辑
摘要:一、 背景 这个数据库的数据文件mdf大概有8.5G左右,当还原数据库之后感觉可以做很多性能方面上的调优,合并数据后mdf数据文件大概有6.2G左右,行压缩后mdf数据文件大概有4.8G左右,页压缩后mdf数据文件大概有4.5G左右,这里处于技术研究的目的,讲讲研究的成果分析,不用于商业目的;二、... 阅读全文

GroupData群数据库的还原与优化

2014-12-18 14:07 by 听风吹雨, 5946 阅读, 4 推荐, 收藏, 编辑
摘要: 这个数据库的数据文件mdf大概有83G左右,当还原数据库之后感觉可以做很多性能方面上的调优,合并数据后mdf数据文件大概有59G左右,行压缩后mdf数据文件大概有39G左右,页压缩后mdf数据文件大概有34G左右,这里处于技术研究的目的,讲讲研究的成果分析,不用于商业目的;优化项 我们可以从下面4个不同的方面来优化这两个数据库: (一)对表进行分区; (二)创建合适表索引; (三)使用行压缩,压缩行数据; (四)重新设计表结构,优化表空间; 阅读全文

SQL Server 动态生成数据库所有表Insert语句

2014-10-31 10:27 by 听风吹雨, 8503 阅读, 5 推荐, 收藏, 编辑
摘要: 一、 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便; 但是,当我们的表有上百个,而且有些表是有自增ID的,那么这个时候使用SSMS的话,你需要一个个手动设置(如图1),你要知道,需要设置上百个的这些选项是件多么痛苦的事情,而且最后很可能会因为外键约束导致导入导 阅读全文

SQL Server 进制转换函数

2014-09-29 21:30 by 听风吹雨, 37663 阅读, 4 推荐, 收藏, 编辑
摘要: 一、背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下面的映射表“: 二、十进制转换为十六进制 在网上有很多资料关于使用SQL语句把十进制转换为十六进制的资料,比如: --方式1 SELECT CONVERT(VARBINARY(50), 23785) 执行返回值为0x00005CE9,但是需要注意的是,这本应该返回二进制的 阅读全文

SQL Server 在缺少文件组的情况下如何还原数据库

2014-08-29 17:06 by 听风吹雨, 3847 阅读, 1 推荐, 收藏, 编辑
摘要:SQL Server 在缺少文件组的情况下如何还原数据库一、背景 我有一个A库,由于a,b两张表的数据量比较大,所以对表进行分区;在把A库迁移到一个新的集群上去,我只备份了A库的主分区过去进行还原为B库(主分区的备份还原可参考:SQL Server 维护计划备份主分区 和 主分区备份与还原),为了... 阅读全文

SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)

2014-05-13 10:35 by 听风吹雨, 7646 阅读, 10 推荐, 收藏, 编辑
摘要: 在我的数据库服务器上,同一个实例下面挂载着许多相同结构的数据库,他们为不同公司提供着服务,在许多时候我需要同时创建、修改、删除一些对象,存储过程就是其中一个,但是想要批量创建存储,这有些特殊,下面就教你如何实现在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases) 三.遇到的问题(Problems)   在之前的文章中多次谈到使用游标的方式处理的各种问题: 阅读全文

SQL Server 多实例下的复制

2014-05-05 15:23 by 听风吹雨, 6826 阅读, 7 推荐, 收藏, 编辑
摘要: 背景(Contexts)在服务器A有一个数据库Task,需要把部分表部分字段发布订阅到服务器B的TaskSiteInfo数据库上,但是B服务器有些特别,因为它除了有个默认的实例之外,还有一个命名实例:TZR06\SQLSERVER2008R2,如果是默认实例到不会遇到太多的问题,现在因为有命名实例在创建发布订阅的过程中出现了一些异常,所以这里做为记录; 三.搭建步骤(Procedure) (一) 环境信息 系统环境:Windows Server 2008 R2 + SQL Server 2008 R2 阅读全文

SQL Server 批量主分区备份(Multiple Jobs)

2014-02-11 11:21 by 听风吹雨, 3161 阅读, 6 推荐, 收藏, 编辑
摘要: 在公司的内网有台数据库的测试服务器,这台服务器是提供给开发人员使用的,在上面有很多的数据库,有些是临时系统用到的数据库,这些数据库有一个共同点:数据库表结构比较重要,数据库只有一些测试数据,也就是说这些数据库都很小,而整台服务器的数据库又非常多;   现在有这样一个需求,希望间隔一段时间就备份所有数据库,所以这里写了这篇文章,这也是另外一篇文章SQL Server 批量备份数据库(主分区)的基础; 阅读全文

SQL Server 批量完整备份

2014-02-10 14:59 by 听风吹雨, 11748 阅读, 8 推荐, 收藏, 编辑
摘要: 在公司的内网有台数据库的测试服务器,这台服务器是提供给开发人员使用的,在上面有很多的数据库,有些是临时系统用到的数据库,这些数据库有一个共同点:数据库表结构比较重要,数据库只有一些测试数据,也就是说这些数据库都很小,而整台服务器的数据库又非常多;   现在有这样一个需求,希望间隔一段时间就备份所有数据库,所以这里写了这篇文章,这也是另外一篇文章SQL Server 批量备份数据库(主分区)的基础; 阅读全文

SQL Server 游标运用:鼠标轨迹字符串分割

2014-02-07 17:04 by 听风吹雨, 2459 阅读, 2 推荐, 收藏, 编辑
摘要: 我们的系统中记录了用户的鼠标行为轨迹字符串,这些字符串的格式是:PosSet:[573,1103,2010-09-03 22:32:35],[864,110,2010-09-03 22:32:57],这个字段表示用户点击页面的X坐标,Y坐标,时间。现在要求对这样字符串进行分割。   需要注意的是当字符串只有一个坐标的时候,如:PosSet:[513,1303,2010-09-03 22:34:35],你需要考虑这种情况的处理,因为这个时候就没有分隔字符在字符串了。   还需要考虑字符串不规则的时候的异常处理; 阅读全文

SQL Server 批量主分区备份(One Job)

2014-01-28 12:18 by 听风吹雨, 3437 阅读, 2 推荐, 收藏, 编辑
摘要: 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents)背景(Contexts)案例分析(Case)实现代码(SQL Codes)主分区完整、差异还原(Primary Backup And Restore)参考文献(References)二.背景(Contexts) 在我的数据库实例中,有很多下图所示的数据库,这些数据库的名称是有规律的,每个数据库包含的表都是相同的,其中2个表是类似流水记录的表,表的数据量会比较大,占用的空间有几十G到上百G不等,这2个表相对于其它的配置表来说是比较不重要的 阅读全文

SQL Server 即时文件初始化

2014-01-13 09:43 by 听风吹雨, 5316 阅读, 5 推荐, 收藏, 编辑
摘要: 数据库服务器在为表分配初始值的时候很慢,分配初始值40GB的数据文件,花了30多分钟,一开始的时候一直认为是服务器磁盘的写入速度太慢造成的,后来经过北京-宋沄剑的提醒:即时文件初始化(Instant File Initialization),设置这一选项之后,速度提升到了19秒,下面将描述这个优化的设置过程。 三.基础知识(Rudimentary Knowledge) 就数据库而言,以下几种情况需要对文件初始化: 1. 创建数据库; 2. 向现有数据库中添加文件、日志或数据; 3. 增大现有文件的大小(包括自动增长操作); 阅读全文