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 2339

SqlServer

SQL Server创建索引

原文:SQLServer创建索引什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQLServer中的数据记录也是按页存放的,每页容量一般为4K。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。同理,SQLServer允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。•SQLServer中的数据也是按页(4KB)存

系统 2019-08-12 01:55:38 2335

SqlServer

SQL Server的几个安全问题

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

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

SqlServer

SQL Server 2008 新功能

SQLServer2008提供的日期/时间格式变动的精确数可以节省空间时间与日期分开,在利用betweenand取间隔时可方便许多旧的时间函数可以使用新的数据型态,提供新的时间函数以取得更精确的时间数据表型态的参数可以先定义数据表Type,再宣告该型态的变量CREATETYPEmytabASTABLE(idint);DECLARE@tmytab;传递数据表型态的参数是只读的T-SQL语法增强可以一行指令同时宣告变量与初始化值SQLcodeDECLARE@i

系统 2019-08-12 01:52:47 2334

SqlServer

SQLServer 使用 @@ERROR

使用@@ERROR如果最后的Transact-SQL语句执行成功,则@@ERROR系统函数返回0;如果此语句产生错误,则@@ERROR返回错误号。每一个Transact-SQL语句完成时,@@ERROR的值都会改变。因为每个Transact-SQL语句执行完毕时,@@ERROR都会得到一个新的值,@@ERROR可用以下两种方法处理:在Transact-SQL语句后,马上检测或使用@@ERROR。在Transact-SQL语句完成后,马上把@@ERROR存储

系统 2019-08-12 01:53:14 2329

SqlServer

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

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

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

SqlServer

SQL Server 2008中的代码安全(一):存储过程

SQLServer2008中SQL应用系列--目录索引最近对SQLServer2008的安全入门略作小结,以作备忘。本文涉及两个应用:存储过程加密和安全上下文。<一>存储过程加密其实,用了这十多年的SQLserver,我已经成了存储过程的忠实拥趸。在直接使用SQL语句还是存储过程来处理业务逻辑时,我基本会毫不犹豫地选择后者。理由如下:1、使用存储过程,至少在防非法注入(inject)方面提供更好的保护。至少,存储过程在执行前,首先会执行预编译,(如果由于非

系统 2019-08-29 23:09:50 2317

SqlServer

sqlserver中临时表、row-number、update更新自己

SELECT*INTO#TempStudentFROM(SELECTid,ROW_NUMBER()OVER(ORDERBYid)RowNumFROMdbo.student)NewTUPDATEdbo.studentSETscore=#TempStudent.RowNumFROMdbo.studentstuLEFTJOIN#TempStudentONstu.id=#TempStudent.idUPDATEdbo.PMS_CommoditySETC_Modif

系统 2019-08-12 01:53:38 2317

SqlServer

安装MS SQL Server 2008 “性能计数器注册表配

安装SQLServer2008出现问题,在安装前检测时,安装程序报错,“性能计数器注册表配置单元一致性”,点击错误连接时,会提示,查看文章,URL地址:http://support.microsoft.com/kb/300956。虽然该文章提示只适用于windows2000英文版,不过就个人使用体验,在windowsxpProfessional中文版也是适用的。下面的内容是根据该文章为蓝本,笔者在安装过程中的操作。第一,打开注册表。开始菜单-->运行-->

系统 2019-08-12 01:52:03 2312

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 2309

SqlServer

SQL Server 语法收集

时间转换,转换成年月日,用系统函数转换year(CreateTime)=2012month(CreateTime)=9day(CreateTime)=121--获取表中字段的名称2selecttop1col_name(object_id('表名'),1)fromsysobjects3--把col_name(object_id('表名'),1)中的1依次换成2,3,4,5,6…就可得到所有的字段名称。1--获取当前所有的驱动器2execmaster.dbo.

系统 2019-08-12 01:52:06 2305

SqlServer

SQL Server 连接问题-命名管道

原文:SQLServer连接问题-命名管道出自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/12/sql-server-1.aspx一。前言在使用SQLServer的过程中,用户遇到的最多的莫过于连接问题了。本文将深度讨论SQLServer连接问题的方方面面,希望能帮你彻底解决SQLserver的连接问题。SQLServer支持的通讯协议很多,如命名管道(NamedPipes)、TCP/IP套接字、共享内

系统 2019-08-12 01:54:23 2304

SqlServer

update值与原值相同时,SQL Server会真的去upda

原文:update值与原值相同时,SQLServer会真的去update还是忽略呢?考虑下面的情况:当update值与原值相同时,SQLServer会真的去update还是忽略?例如:updatetbnamesetname='abc'--name原来的值就是abcwhereid=1再如:updatetbnamesetname='abc'--name原来的值就是abcwherename='abc'接下来我们将实际测试:--MicrosoftSQLServer

系统 2019-08-12 01:52:03 2301

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 2299

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 2299