随笔分类 - SQL Server
摘要:看看时间大概已经有半年没有来博客园了,最近半年好像一直都忙碌着.也不知道忙些什么. 最近偶然间在思考一个问题:DBA的价值及其发展方向? 圈子里面也应该有好多DBA吧,或者有志于做DBA方面的工作, 我也在想弄清楚DBA的价值及其发展方向. 前几天看过一篇帖子说DBA的价值不仅仅在于维护数据库本身, 而应该在数据存储方案的选择上作出最专业的判断, 这是DBA最大的价值所在. DBA可以分为以下几...
阅读全文
摘要:<<接上篇:SQL Server数据库表锁定原理以及如何解除表的锁定>>有几个朋友留言建议结合例子来演示一下, 上篇已经说过锁的几种类型, 可以利用系统动态视图sys.dm_tran_locks查看到,重要的栏位如下:resource_type被锁的资源类型(Database, FILE, Object,PAGE,KEY,EXTENT,RID,APPLICATION,MET...
阅读全文
摘要:一:前言最近在论坛上面看到一些提问涉及到行列的旋转,想到SQL Server 2005新增的枢纽表达式正好可以实现这样的用法。二:可行性分析PIVOT 和 UNPIVOT 是可以在查询的 FROM 子句中指定的新的关系运算符。它们对一个输入表值表达式执行某种操作,并且产生一个输出表作为结果。PIVOT 运算符将行旋转为列,并且可能同时执行聚合。它基于给定的枢轴列扩大输入表表达式,并生成一个带有与枢...
阅读全文
摘要:ROW_NUMBER 函数可以向查询的结果行提供连续的整数值,通常配合OVER来使用:() OVER([PARTITION BY ]ORDER BY )PARTITION BY是一个很实用的应用,可以在行组内部独立地分段计算排序值,而不是为作为一个组的所有表行计算排序值。APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右...
阅读全文
摘要:数据处理在现代企业运营中变得越来越重要,越来越关键,甚至会成为企业发展的一项瓶颈. 数据保护的重要性也不言而喻. 如果一个企业没有很好的数据保护方案或策略的话,一旦发生重要数据丢失,后果将会是灾难性的,伴随着会有经济利益方面的损失.各大服务器硬件厂商(IBM,HP等)提供有很好的数据保护策略(硬件或软件).如大家熟知的RAID磁盘阵列(Redundant Array of Independent ...
阅读全文
摘要:在涉及到SQL Server编程或是管理时一定会用到数据的导入与导出, 导入导出的方法有多种,结合我在做项目时的经历做一下汇总:1. SQL Server导入导出向导,这种方式是最方便的.导入向导,微软提供了多种数据源驱动,包括SQL Server Native Cliant, OLE DB For Oracle,Flat File Source,Access,Excel,XML等,基本上可以满足...
阅读全文
摘要:1. 数据库表锁定原理1.1 目前的C/S,B/S结构都是多用户访问数据库,每个时间点会有成千上万个user来访问DB,其中也会同时存取同一份数据,会造成数据的不一致性或者读脏数据.1.2 事务的ACID原则1.3 锁是关系数据库很重要的一部分, 数据库必须有锁的机制来确保数据的完整和一致性.1.3.1SQL Server中可以锁定的资源:1.3.2锁的粒度:1.3.3锁的升级:锁的升级门限以及锁...
阅读全文
摘要:SQL中的叠加(小提示):有如下的需求,用SQL实现把结果集合转换为字符串.如下:可以有至少如下三种方法来做转换:1. 在.NET中通常的做法是先取出结果集放在DataTable中,再利用foreach循环取出每个字段串联起来. 亦如这样,在SQL中也有相同的做法,就是用游标(CURSOR)做循环,示例代码如下:Cursor转换之后的字符串:CURSOR在SQL中的效率很差,当数据量比较大时(&g...
阅读全文
摘要:在写SQL的时候经常会有这样的需求: 在一个Table中会有多条重复的数据,如何有效的取出来不重复的数据,或者是删除掉重复的数据,或者取出某列重复值的第一条数据.利用SQL Server 2005的新功能NOW_NUMBER和CTE可以很好的实现.举例说明如下:建立测试数据:代码可以查看到重复的数据有:[代码]接下来介绍如何delete掉重复的数据:1.NOW_NUMBER:SQL Server ...
阅读全文
摘要:相信大家在写SQL时都会有遇到NULL的经历吧,在一个table插入NULL,与NULL作比较等等.1.NULL意思为缺失的值(missing value).2.三值逻辑(three-valued-logic: TRUE,FALSE,UNKNOWN). 在SQL中有三个逻辑谓词:TURE,FALSE,UNKNOWN.在大多数的编程语言中只有TRUE和FALSE,而在SQL中独有UNKNOWN,之所...
阅读全文
摘要:1.SQL Server系统数据库介绍SQL Server有四个重要的系统级数据库:master,model,msdb,tempdb.master:记录SQL Server系统的所有系统级信息,包括实例范围的元数据,端点,链接服务器和系统配置设置,还记录其他数据库是否存在以及这些数据问文件的位置等等.如果master不可用,数据库将不能启动.model:用在SQL Server 实例上创建的所有数...
阅读全文
摘要:如果删除掉一些数据行,我是否需要压缩SQL Server数据库? 以便于这些空间可以被重新使用.这是一个很好的问题,切经常被问到,其中涉及到SQL Server数据库对删除的管理以及压缩机制.1.理解SQL Server怎样自动的重新利用数据表的空间,下面以实例来做简要的说明.1.1 建立临时测试数据创建一个测试table: Test,填空1000行数据.结果如下:可以看到1000条数据占用152...
阅读全文
摘要:1. 临时表:分为局部临时表和全局临时表. 1.1局部临时表,创建时以#开头,在系统数据库tempdb中存储. 在当前的链接可见,链接断开则临时表就自动被释放,也可以手动drop table #tmptable在使用不同的链接同时创建相同的临时表时,互不影响,系统在tempdb中会自动附加以特定的session为标识的名字来区分. 常常在SP中使用,把需要操作的数据或者共同的数据取出放在临时表中,...
阅读全文

浙公网安备 33010602011771号