-
SQL Server数据表压缩
概述SQLServer的主要性能取决于磁盘I/O效率,SQLServer。2008提供了数据压缩功能来提高磁盘I/O效率...
数据库操作教程 2022-09-23 18:23:30 -
SQLServer里书签查找的性能伤害
在我的博客上,以前我经常谈到SQLServerl里的书签查找,还有它们带来的很多问题。在今天的文章里,我想从性能角度进一步谈下书签查找,还有它们如何拉低你整个SQLServer性能...
数据库操作教程 2022-09-23 18:23:28 -
利用SQLServer触发器实现表的历史修改痕迹记录
在很多应用程序开发中,需要记录某些数据表的历史记录或修改痕迹,以便日后出现数据错误时进行数据排查。这种业务需求,我们可以通过数据库的触发器来轻松实现历史记录功能...
数据库操作教程 2022-09-23 18:23:24 -
SQLServer实现用触发器捕获DML操作的会话信息【实例】
需求背景上周遇到了这样一个需求,维护人员发现一个表的数据经常被修改,由于历史原因;文档缺少;以及维护人员的经常变更,导致他们对系统也业务也不完全熟悉,他们也不完全清楚哪些系统和应用程序会对这个表的数据进行操作。现在他们想找出有哪些服务器,哪些应用程序会对这个表进行INSERT、UPDATE操作...
数据库操作教程 2022-09-23 18:23:24 -
SqlServer临时表和游标的使用小结
1.临时表临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除。临时表有局部和全局两种类型2者比较:局部临时表的名称以符号(#)打头仅对当前的用户连接是可见的当用户实例断开连接时被自动删除全局临时表的名称以符号(##)打头任何用户都是可见的当所有引用该表的用户断开连接时被自动删除实际上局部临时表在tempdb中是有唯一名称的例如我们用sa登陆一个查询分析器,再用sa登陆另一查询分析器在2个查询分析器我们都允许下面的语句:usepubsgoselect*into#temfromjobs分别为2个用户创建了2个局部临时表我们可以从下面的查询语句可以看到SELECT*FROM[tempdb].[dbo].[sysobjects]wherextype='u'判断临时表的存在性:ifobject_id('tempdb..#tem')isnotnullbeginprint'exists'endelsebeginprint'notexists'end特别提示:1...
数据库操作教程 2022-09-23 18:23:20 -
何谓SQLSERVER参数嗅探问题
大家听到“嗅探”这个词应该会觉得跟黑客肯定有关系吧,使用工具嗅探一下参数,然后截获,脱裤o(∩_∩)o。事实上,我觉得大家太敏感了,其实这篇文章跟数据库安全没有什么关系,实际上跟数据库性能调优有关相信大家有泡SQLSERVER论坛的话不多不少应该都会见过“参数嗅探”这几个字这里有三篇帖子都是讲述参数嗅探的http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/caccb7f3-8366-4954-8f8a-145eb6bca9ddhttp://msdn.microsoft.com/zh-cn/magazine/ee236412.aspxhttp://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/bfbe54de-ac00-49e9-a83b-f97a60bf74ef下面我给出一个测试数据库的备份文件,里面有一些表和一些测试数据,大家可以去下载,因为我下面用的测试表都是这个数据库里的只需要还原数据库就可以了,这个数据库是SQL2005...
数据库操作教程 2022-09-23 18:23:20 -
SQL Server中使用表变量和临时表
一、表变量表变量在SQLServer2000中首次被引入。表变量的具体定义包括列定义,列名,数据类型和约束...
数据库操作教程 2022-09-23 18:23:17 -
SQLServer存储过程创建和修改的实现代码
打开SQLServer2005的管理工具,选中需要创建存储过程的数据库,找到“可编程性”,展开后可以看到“存储过程”。右键点击它,选择“新建存储过程”,右侧的编辑窗口打开了,里面装着微软自动生成的SQLServer创建存储过程的语句...
数据库操作教程 2022-09-23 18:23:16 -
SQLserver中cube:多维数据集实例详解
1、cube:生成多维数据集,包含各维度可能组合的交叉表格,使用with关键字连接withcube根据需要使用unionall拼接判断某一列的null值来自源数据还是cube使用GROUPING关键字GROUPING([档案号])=1:null值来自cube(代表所有的档案号)GROUPING([档案号])=0:null值来自源数据举例:SELECT*INTO##GETFROM(SELECT*FROM(SELECTCASEWHEN(GROUPING([档案号])=1)THEN'合计'ELSE[档案号]ENDAS'档案号',CASEWHEN(GROUPING([系列])=1)THEN'合计'ELSE[系列]ENDAS'系列',CASEWHEN(GROUPING([店长])=1)THEN'合计'ELSE[店长]ENDAS'店长',SUM(剩余次数)AS'总剩余',CASEWHEN(GROUPING([店名])=1)THEN'合计'ELSE[店名]ENDAS'店名'FROM##PudianCardGROUPBY[档案号],[店名],[店长],[系列]WITHcubeHAVINGGROUPIN...
数据库操作教程 2022-09-23 18:23:13 -
SQLServer免费版的安装以及使用SQLServerManagementStudio(SSMS)连接数据库的图文方法
一、SQLServer和SSMS的安装1.SQL的安装下载地址:SQLServer。进入下载地址选择Developer或者Express都可以...
数据库操作教程 2022-09-23 18:23:09 -
实现SQLServer原生数据从XML生成JSON数据的实例代码
实现SQLServer原生数据从XML生成JSON数据的实例代码 SQLServer是关系数据库,查询结果通常都是数据集,但是在一些特殊需求下,我们需要XML数据,最近这些年,JSON作为WebAPI常用的交换数据格式,那么数据库如何生成JSON数据呢?今天就写了一个DEMO. 1...
数据库操作教程 2022-09-23 18:23:05 -
SQLServerAlert发送告警邮件少了的原因
最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来。如下所示,设置了告警“SQLServerSeverityEvent14” USE[msdb]GOIFNOTEXISTS(SELECT1FROMmsdb.dbo.syscategoriesWHERENAME='DBA_MONITORING'ANDcategory_class=2)BEGINEXECmsdb.dbo.sp_add_category@class=N'ALERT',@type=N'NONE',@name=N'DBA_MONITORING';ENDGOIFEXISTS(SELECTnameFROMmsdb.dbo.sysalertsWHEREname=N'SQLServerSeverityEvent14')EXECmsdb.dbo.sp_delete_alert@name=N'SQLServerSeverityEvent14'GOEXECmsdb.dbo.sp_add_alert@name=N'SQLServerSeverityEvent14',@mess...
数据库操作教程 2022-09-23 18:22:59