SqlServer - 军军小站|张军博客
SqlServer

走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库

原文:走向DBA[MSSQL篇]从SQL语句的角度提高数据库的访问性能最近公司来一个非常虎的dba10几年的经验这里就称之为蔡老师吧在征得我们蔡老同意的前提下我们来分享一下蔡老给我们带来的宝贵财富欢迎其他的dba来拍砖目录1、什么是执行计划?执行计划是依赖于什么信息。2、统一SQL语句的写法减少解析开销3、减少SQL语句的嵌套4、使用“临时表”暂存中间结果5、OLTP系统SQL语句必须采用绑定变量6、倾斜字段的绑定变量窥测问题7、begintran的事务要

系统 2019-08-12 01:52:36 2444

SqlServer

SQL Server审计功能入门:更改跟踪(Change Trac

原文:SQLServer审计功能入门:更改跟踪(ChangeTracking)介绍更改跟踪是一种轻量型解决方案,它为应用程序提供了一种有效的更改跟踪机制。常规的,自定义变更跟踪和读取跟踪数据,会使用触发器,存储过程和记录变更的用户表等,还需要保证访问一致和相关清理工作。使用CT会减少额外工作量和保证访问一致性。启用CT的表上必须得有主键,所有版本适用。为了保证更改信息的有效性,官方建议结合快照隔离使用。CT只能提供:哪些行/列发生了更改被更改行的最新数据。

系统 2019-08-12 01:52:38 2442

SqlServer

SQL Server中TempDB管理(version store的逻辑

原文:SQLServer中TempDB管理(versionstore的逻辑结构)原文来自:http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/12/31/managing-tempdb-in-sql-server-tempdb-basics-version-

系统 2019-08-12 01:55:01 2439

SqlServer

SQL SERVER中XML查询:FOR XML指定PATH

SQLSERVER中XML查询:FORXML指定PATH前言在SQLSERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH。本文用一些实例介绍SQLSERVER中指定PATH的XML查询。PATH參数PATH('參数'),參数是用来重命名ROW的,ROW是默认生成的名称。select'Hui'forxmlpath结果:Huiselect'Hui'forxmlpath('root')结果:Hui

系统 2019-08-12 01:53:28 2435

SqlServer

SQL Server的几个安全问题

本文探讨一些SQLServer常见的安全问题,是给初入SQLServer的人看的,写的肯定很絮叨,高手勿读。本文的用的是SQLServer2000,下文中都简写为SQLServer。一、空口令或弱口令初学者在安装SQLServer时为了省事,SQLServer管理员sa用的是空口令或弱口令,这样危险性十分巨大,而这些危险往往是初学者意识不到的,小王就觉得,自己的库是试验数据,没什么用,即使别人连上库也无所谓。殊不知SQLServer的默认用户sa的权限非常

系统 2019-08-29 22:59:26 2434

SqlServer

获取某几个分类下的前N条数据 mssql语句

方案1:(SELECTtop10*FROM表wheretype=3)UNIONALL(SELECTtop10*FROM表wheretype=4)UNIONALL(SELECTtop10*FROM表wheretype=5)方案2:select*from(select*,row_number()over(partitionbytypeorderbyiddesc)asRNfrom表twheretypein(3,4,5))awherern<=10;获取某几个分类下

系统 2019-08-12 01:54:14 2424

SqlServer

SQLSERVER数据库学习总结七(视图,索引)

--视图的主意点:不能和表的名称相同,如果某一列为函数,表达式,常量或者与来自多张表的列名相同,必须为列定义名称,不能在试图上创建索引ifexists(select1fromsys.sysobjectswhere[name]='view_recordInfo')dropviewview_recordInfogocreateviewview_recordInfoasselect记录编号=r.Recordld,会员卡号=r.BeginTime,电脑编号=p.P

系统 2019-08-12 01:55:28 2421

SqlServer

在SQL Server 2008中调用.net,dll

原文:在SQLServer2008中调用.net,dllT-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了。这时可以借助CLR了,我们可以在SQLServer2008中扩展C#程序来完成循环等过程式的查询,或者其他SQL不便实现的功能。这个随笔中将介绍在SQLServer中扩展C#程序实现正则表达式的替换功能。新建一个类库程序命名为Regex,打开VisualStudio2008,点击File,点击New,

系统 2019-08-12 01:34:00 2417

SqlServer

解剖SQLSERVER 第五篇 OrcaMDF里读取Bits类型数

原文:解剖SQLSERVER第五篇OrcaMDF里读取Bits类型数据(译)解剖SQLSERVER第五篇OrcaMDF里读取Bits类型数据(译)http://improve.dk/reading-bits-in-orcamdf/Bits类型的存储跟SQLSERVER其他定长数据类型的存储很不一样。通常,所有定长列都会显示出来,一个条记录里定长数据部分的字段数据总是一个挨着一个我们可以写入磁盘的最小数据单位是一个字节,存储位类型数据的天真的方法就是使用一整

系统 2019-08-12 01:53:32 2416

SqlServer

SqlServer重置自增长ID的值

1:取得上次插入的ID最大值SCOPE_IDENTITY()--局部变量,@@IDENTITY相当于全局变量2:重置当前标识值A.如有必要,重置当前标识值下例在必要的情况下重置jobs表的当前标识值。USEpubsGODBCCCHECKIDENT(jobs)GOB.报告当前标识值下例报告jobs表中的当前标识值;如果该标识值不正确,并不对其进行更正。USEpubsGODBCCCHECKIDENT(jobs,NORESEED)GOC.强制当前标识值为30下例

系统 2019-08-12 01:52:41 2413

SqlServer

SQL server启用 'Ad Hoc Distributed Queries'

SQLServer阻止了对组件\'AdHocDistributedQueries\'的访问在SqlServer中查询一下Excel文件的时候出现问题:SELECT*FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel8.0;IMEX=1;HDR=YES;DATABASE=D:\a.xls',[sheet1$])结果提示:SQLServer阻止了对组件'AdHocDistributedQueries'的STATEME

系统 2019-08-12 01:54:21 2412

SqlServer

SQL Server with(nolock)详解

原文:SQLServerwith(nolock)详解大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的。什么是并发访问:同一时间有多个用户访问同一资源,并发用户中如果有用户对资源做了修改,此时就会对其它用户产生某些不利的影响,例如:1:脏读,一个用户对一个资源做了修改,此时另外一个用户正好读取了这条被修改的记录,然后,第一个用户放弃修改,数据回到修改之前,这两个不

系统 2019-08-12 01:33:19 2409

SqlServer

SQL Server中的CLR编程——用.NET为SQL Server

原文:SQLServer中的CLR编程——用.NET为SQLServer编写存储过程和函数很早就知道可以用.NET为SQLServer2005及以上版本编写存储过程、触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQLServer中启用CLR,所以一直没有尝试。最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得。首先要说明的是要在SQLServer中启用CLR必须是在SQLServer2005及以上

系统 2019-08-12 01:52:19 2407

SqlServer

SQLServer 2005 海量数据解决方案 分区表

CsdnBlog在2007年,由于访问量和数据量的大幅度增长,使得我们原有的在.text0.96版本上修改的代码基本不堪重负。在数据库方面主要表现为,单单文章表,2007年1年的数据已经达到了30G的量(最后的解决方案是对把文章表分为两个表,分别存放文章相关信息和专门存放文章内容的表,然后对两个表作分区)。熟悉.Text得朋友可能知道,有一个专门记录流量的表,页面内的每一次点击,直接记录到数据库里面,反映到页面上就是单个用户的博客流量,分别是EntryID

系统 2019-08-12 01:53:05 2406

SqlServer

SQL Server 2008 R2 安全性专题(一):安全原则

原文:SQLServer2008R2安全性专题(一):安全原则本系列主要专注与SQLServer2005以后的DBMS,由于本人工作使用2008R2,所以目前就针对2008R2来做说明:关于保护SQLServer安全的原则:最小权限原则CIA三角深度防护一、最小权限原则:只授予所需的最小权限。最简单的解决方案是让用户成为固有数据库角色:db_datareader成员,然后创建select权限创建数据库角色,并且只授权用户需要访问的表,让用户成为这个新角色的

系统 2019-08-12 01:51:35 2403