SqlServerCPU性能排查及优化的相关Sql语句,非常好的SQL语句,记录于此:--BeginCpu分析优化的相关Sql--使用DMV来分析SQLServer启动以来累计使用CPU资源最多的语句。例如下面的语句就可以列出前50名。selectc.last_execution_time,c.execution_count,c.total_logical_reads,c.total_logical_writes,c.total_elapsed_time,
系统 2019-08-12 01:51:52 2153
在sqlserver中来计算一个字符串在另一个字符串中出现的次数,通常会去用循环来匹配,然后计算出出现的次数,这样的效能不是很高。现在讲一种比较简单的方法也能实现同样的功能,思路如下:1:设有字符串str1str2,现在要求str1在str2中出现的次数。2:将str1后面加上一个字符,如:str1+'_',设更改后的字符串為str3。3:在str2中如果有子串str1,将之替换成str3,替换后的字符串设為str4。4:str4与str2的长度之差即為s
系统 2019-08-12 01:51:30 2153
<一>有相关ID标识一.查找重复记录1.查找所有重复记录Select*From表Where重复字段In(Select重复字段From表GroupBy重复字段HavingCount(*)>1)SELECT*FROMCompanyEmailcWHERE((SELECTCOUNT(*)FROMCompanyEmailWHEREEmail=a.Email)>1)ORDERBYEmailDESC查出相同orderid中创建时间最晚的记录selectt.IdfromG
系统 2019-08-29 22:57:11 2152
1、数据库压缩日志GOALTERDATABASEwebsiteSETRECOVERYSIMPLE;--设置简单恢复模式GODBCCSHRINKFILE(website_Log,1);GOALTERDATABASEwebsiteSETRECOVERYFULL;--恢复为原模式GO2、重建所有索引execsp_msforeachtable'DBCCDBREINDEX(''?'')'重建索引DECLARE@namevarchar(100)DECLAREautho
系统 2019-08-12 01:54:32 2152
原文:SQLServer2008技术内幕——T-SQL查询笔记1、SQL编程有许多独特之处,如:面向集合的思维方式、查询元素的逻辑处理顺序、三值逻辑。如果不掌握这些知识就开始用SQL编程,得到的将是冗余的、性能低下的代码,而且难以维护。2、在SQLServer中负责生成实际工作计划(执行计划)的组件是:查询优化器(queryoptimizer)。只有在确保结果集正确的前提下,优化器才会走捷径。明确区分查询的逻辑处理和物理处理是非常重要的。3、逻辑查询的各个
系统 2019-08-12 01:54:50 2151
在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7.假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。当然,你可以通过@@DATEFIRST函数来检查第一天设置。一、为了理解这些例子,我
系统 2019-08-12 01:32:40 2151
1.有標識列時的方案:--1.利用NotIn和SELECTTOP分页语句形式:SELECTTOP10*FROMTestTableWHERE(IDNOTIN(SELECTTOP20idFROMTestTableORDERBYid))ORDERBYIDSELECTTOP页大小*FROMTestTableWHERE(IDNOTIN(SELECTTOP页大小*(页数-1)idFROM表ORDERBYid))ORDERBYID--2.利用ID大于多少和SELECTT
系统 2019-08-12 01:54:48 2149
SQLServer汇总数据之计算总计数据虽然ReportinService能够轻松地计算总计和小计,而无须查询做额外的工作。但实践表明,向应用程序提供总计,让其在窗体或网页底端显示它可能很有用。接下来的三个聚合命令将可以提供很好的解决方案。一、Rollup与Cube两者基本语法一致:groupby....withrollup|cube聚合函数Rollup和Cube在一个独立的行中计算出小计和总计,并在分组依据列中包含空值,以指出对应的值为总计。Rollup
系统 2019-08-12 01:53:33 2149
看看跟上一个版本有啥不一样的。每个技术领域关注的角度可能都略有不同,这里主要从一个BI从业人员的角度来观察SQLServer2012在安装以及第一印象上有什么变化。建议下载iso文件:SQLFULL_ENU.iso可以直接用rar解压,方便硬盘安装。解压后的目录,双击setup.exe安装。安装起始界面,跟上一个版本变化不大。点击Installation,然后再点击右边第一项。留意到Stand-alone,这个词在MOSS里也见过。这一步没有太大的变化,似
系统 2019-08-12 01:52:22 2149
以前拼接的写法set@sql='select*fromtablewhere1=1'if(@addDateisnotnull)set@sql=@sql+'andaddDate='+@addDate+''if(@name<>''andisnotnull)set@sql=@sql+'andname='+@name+''exec(@sql)下面是不采用拼接SQL字符串实现多条件查询的解决方案第一种写法是感觉代码有些冗余if(@addDateisnotnull)an
系统 2019-08-12 01:33:49 2149
1.在sp_configure配置xp_cmdshell可运行2.创建一个账号test,用来执行xp_cmdshell但是非sysadmin权限3.用grant把xp_cmdshell权限赋予test4.创建代理账号,这个账号是windows账号。5.在sqlserver中设置代理账号,右击实例属性安全性下的代理中填入windows账号密码或者使用sp_xp_cmdshell_proxy_account设置代理账号SQLServer非sysadmin调用扩
系统 2019-08-12 01:33:32 2149
什么是主键?在数据库中,常常不只是一个表,这些表之间也不是相互独立的。不同的表之间需要建立一种关系,才能将它们的数据相互沟通。而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的。通过这个字段中不同的值可以区别各条记录。就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人。数据库的表中作为主键的字段就要像人的身份证号一样,必须
系统 2019-08-12 01:52:31 2148
原文:灵活运用SQLSERVERFORXMLPATHFORXMLPATH有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主.一.FORXMLPATH简单介绍那么还是首先来介绍一下FORXMLPATH,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下:接下来我们来看应用FORXMLPATH的查询结果语句如下:SELEC
系统 2019-08-12 01:52:02 2148
SQLServer数据库基础编程ØGo批处理语句用于同时执行多个语句Ø使用、切换数据库usemastergoØ创建、删除数据库方法1、--判断是否存在该数据库,存在就删除if(exists(select*fromsys.databaseswherename='testHome'))dropdatabasetestHomego--创建数据库,设置数据库文件、日志文件保存目录createdatabasetestHomeon(name='testHome',fi
系统 2019-08-12 01:52:25 2147
原文:SQLServer作业监控在讲解SQLServerAgentJobs之前,先要讲解msdb。Msdb是SQLServer的系统数据库之一,用于存储SQLServer的配置、元数据等信息。包括:lSQLServerAgentJobs,JobSteps,Jobschedules,Alerts,Operators,等等。lServiceBroker,LogShipping,Backups/restore信息,维护计划、数据库邮件、基于策略管理信息等等。lS
系统 2019-08-12 01:51:30 2147