-
SQLTranscation的一些总结分享
1.1.1摘要相信大家对于SQLTranscation再熟悉不过,它确保了数据库的数据一致性和安全性,尤其在对数据执行增删时,如果发生异常和错误它就会触发事务回滚,从而确保了我们数据的一致性和安全性,下面我们将通过分四部分介绍事件(Transcation)。1.1.2正文首先让我们通过一个具体的例子介绍Transcation的使用,假如我们的数据库中有一个表UserInfo,它包含三个字段分别为:UserID(自增)、UserName(nvarchar)和LuckyNumber(tinyint),如下图所示:图1UserInfo表UserInfo表的sql代码如下:复制代码代码如下:--ThedefinitionofUserInfo.SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[UserInfo]([UserID][int]IDENTITY(1,1)NOTNULL,[UserName][nvarchar](50)NOTNULL,[LuckyNumber][tinyint]NOTNULL)ON[PRIMARY]接着我...
数据库操作教程 2022-09-23 17:02:11 -
SQLServer误区30日谈第15天CheckPoint只会将已提交的事务写入磁盘
误区#15:CheckPoint只会将已提交的事务写入磁盘错误这个误区是由于太多人对日志和恢复系统缺少全面的了解而存在已久。CheckPoint会将自上次CheckPoint以来所有在内存中改变的页写回磁盘(译者注:也就是脏页),或是在上一个CheckPoint读入内存的脏页写入磁盘...
数据库操作教程 2022-09-23 17:00:27 -
SQLServer误区30日谈第18天有关FileStream的存储,垃圾回收以及其它
误区#18:如下多个有关FileStream的误区全部错误18a)FileStream数据可以在远程存储 不能,由于FileStream数据容器(指的是存放FileStream文件的NTFS文件夹,杜撰出来的术语)必须像数据文件或日志文件那样符合本地存储策略-也就是说,这个数据容器必须放在对于运行SQLServer的WindowsServer是本地存储(译者注:也就是在‘计算机'里能看到的存储,DAC当然是了,其实SAN这类不直接连接服务器的也算是)访问FileStream数据只要客户端连接到了SQLServer服务器并获取响应的事务上下文后,就可以通过UNC路径进行访问了。18b)FileStream的数据容器可以嵌套 不能,对于同一个数据库的两个不同的FileStream容器可能在同一个目录下,但是却不能嵌套...
数据库操作教程 2022-09-23 16:59:41 -
sqlserver多表关联时在where语句中慎用trim()方法
类似如下:selectA.key,B.key,C.keyfromA,B,Cwheretrim(A.key)=trim(B.fk)andtrim(A.col)=trim(C.pk)。在主表A(200多条记录)关联附表B(4万多条记录)时用了1秒钟时间,该值在不同机器执行可能有所差异,但比不加trim速度稍微慢一些,但是不是特别明显...
数据库操作教程 2022-09-23 16:55:42 -
sqlserver日志恢复方法(搞定drop和truncate)
--1usemasterbackupdatabaselogTesttodisk='D:ProgramFilesMicrosoftSQLServerMSSQL10.MSSQLSERVERMSSQLBackuplogTest...
数据库操作教程 2022-09-23 16:55:03 -
DBCCCHECKIDENT重置数据库标识列从某一数值开始
DBCCCHECKIDENT(N'dbo.Orders',RESEED,0);DBCCCHECKIDENT语法DBCCCHECKIDENT(table_name[,{NORESEED|{RESEED[,new_reseed_value]}}])[WITHNO_INFOMSGS]参数table_name是要对其当前标识值进行检查的表名。指定的表必须包含标识列...
数据库操作教程 2022-09-23 16:54:38 -
SQLSubstring提取部分字符串
功能:返回字符、二进制、文本或图像表达式的一部分语法:SUBSTRING(expression,start,length) SQL中的substring函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:参数:expression字符串、二进制字符串、文本、图像、列或包含列的表达式...
数据库操作教程 2022-09-23 16:54:35 -
drop,truncate与delete的区别
注意:这里说的delete是指不带where子句的delete语句相同点truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:1.truncate和delete只删除数据不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态.2.delete语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚.操作不触发trigger.3.delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动显然drop语句将表所占用的空间全部释放truncate语句缺省情况下将空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始).4.速度,一般来说:dr...
数据库操作教程 2022-09-23 16:54:06 -
sqlserversubstring函数使用方法小结
在操作sqlserver时候用到了substring函数SUBSTRING(expression,start,length)参数expression字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式...
数据库操作教程 2022-09-23 16:54:03 -
SQLServer的FileStream和FileTable深入剖析
互联网时代数据是爆炸式增长,我们常常需要把结构化数据和非结构化数据(如文档,演示文稿,视频,音频,图像)存储在一起。通常有几种方案:1...
数据库操作教程 2022-09-23 16:49:44 -
sqlserver中with(nolock)深入分析
在查询语句中使用NOLOCK和READPAST处理一个数据库死锁的异常时候,其中一个建议就是使用NOLOCK或者READPAST。有关NOLOCK和READPAST的一些技术知识点:对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻辑是否能容忍出现或者不出现某些记录,而不是寻求对双方都加锁条件下如何解锁的问题...
数据库操作教程 2022-09-23 16:49:22 -
deletefrom表名与truncatetable表名区别
1.delete不能使自动编号返回为起始值。但是truncate能使自动增长的列的值返回为默认的种子2.truncate只能一次清空,不能按条件删除...
数据库操作教程 2022-09-23 16:49:22