原文:update值与原值相同时,SQLServer会真的去update还是忽略呢?考虑下面的情况:当update值与原值相同时,SQLServer会真的去update还是忽略?例如:updatetbnamesetname='abc'--name原来的值就是abcwhereid=1再如:updatetbnamesetname='abc'--name原来的值就是abcwherename='abc'接下来我们将实际测试:--MicrosoftSQLServer
系统 2019-08-12 01:52:03 1936
1:取得上次插入的ID最大值SCOPE_IDENTITY()--局部变量,@@IDENTITY相当于全局变量2:重置当前标识值A.如有必要,重置当前标识值下例在必要的情况下重置jobs表的当前标识值。USEpubsGODBCCCHECKIDENT(jobs)GOB.报告当前标识值下例报告jobs表中的当前标识值;如果该标识值不正确,并不对其进行更正。USEpubsGODBCCCHECKIDENT(jobs,NORESEED)GOC.强制当前标识值为30下例
系统 2019-08-12 01:52:41 1935
在SQLServer2005环境下,表的主键应该怎样设计.目前主要用到的主键方案共三种自动增长主键手动增长主键UNIQUEIDENTIFIER主键1、先说自动增长主键,它的优点是简单,类型支持bigint.但是它有致命的弱点:当我们需要在多个数据库间进行数据的复制时(SQLServer的数据分发、订阅机制允许我们进行库间的数据复制操作),自动增长型字段可能造成数据合并时的主键冲突。设想一个数据库中的Order表向另一个库中的Order表复制数据库时,Ord
系统 2019-08-29 22:45:45 1933
SqlServer索引使用情况及优化的相关Sql语句,非常好的SQL语句,记录于此:--BeginIndex(索引)分析优化的相关Sql--返回当前数据库所有碎片率大于25%的索引--运行本语句会扫描很多数据页面--避免在系统负载比较高时运行--避免在系统负载比较高时运行declare@dbidintselect@dbid=db_id()SELECTo.nameastablename,s.*FROMsys.dm_db_index_physical_stat
系统 2019-08-12 01:55:42 1930
很多开发人员都想成为一名数据库培训,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识和技能呢?以下是我做DBA工作和面试DBA时,整理的一些DBA方面的三十个问题,三十个大问题中还有许多小的问题,涵括了SQLServer2008R2培训比较多的技术知识点,与大家分享下,希望给有志做DBA的朋友们一些帮助:1.char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高
系统 2019-08-12 01:34:00 1930
本文为原创,如需转载,请注明作者和出处,谢谢!今天想使用一下SQLServer2005,启动SQLServerManagementStudio后,发现连不了数据库了,看了下SQLServer的服务,竟然是停止状态,启动它,但无法启动,但看日志后,发现如下的日志信息:“C:\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\DATA\mastlog.ldf"已压缩,但未驻留在只读数据库或文件组中。必须将此文件解压缩。
系统 2019-08-29 23:11:31 1929
SQLSERVER2012在ORDERBY子句中加入了新元素offset,允许用户在排序完成的结果集中自定义输出行范围,大大简化了分页SQL的书写方式和效率。以下是与以前的两种分页方式的简单对比usemastergosetnocountongosetshowplan_textongo--2012的OFFSET分页方式selectnumberfromspt_valueswheretype='p'orderbynumberoffset10rowsfetchne
系统 2019-08-12 01:54:20 1927
原文:SQLServerDBA工作内容详解在MicrosoftSQLServer2008系统中,数据库管理员(DatabaseAdministration,简称为DBA)是最重要的角色。DBA的工作目标就是确保MicrosoftSQLServer2008系统正常高效地运行。DBA的工作也是最繁忙的工作,无论是性能调整,还是灾难恢复,都离不开DBA的支持。一般地,作为一个DBA,至少应该做好以下12项任务:任务一:安装和配置;任务二:容量规划;任务三:应用架
系统 2019-08-12 01:52:38 1926
SqlServer的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量、条件执行和其他强大的编程功能。存储过程相对于其他的数据库访问方法有以下的优点:(1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。(3)减
系统 2019-08-12 01:52:33 1925
一、深入浅出理解索引结构改善SQL语句很多人不知道SQL语句在SQLSERVER中是如何执行的,他们担心自己所写的SQL语句会被SQLSERVER误解。比如:select*fromtable1wherename=''zhangsan''andtID>10000和执行:select*fromtable1wheretID>10000andname=''zhangsan''一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是
系统 2019-08-12 01:32:55 1925
当sqlserver实例中的master数据损坏时需要还原master数据,但是有些情况下master库的损坏导致sqlserver实例无法运行,只能先重新生成系统数据库一、重新生成SQLServer2008实例的系统数据库:将SQLServer2008安装介质插入到磁盘驱动器中,或者在本地服务器上,从命令提示符处将目录更改为setup.exe文件的位置。在服务器上的默认位置为C:/ProgramFiles/MicrosoftSQLServer/100/S
系统 2019-08-29 23:41:18 1924
SQLServer在安装到服务器上后,由于出于服务器安全的需要,所以需要屏蔽掉所有不使用的端口,只开放必须使用的端口。下面就来介绍下SQLServer2008中使用的端口有哪些:首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口。这个端口是可以修改的,在“SQLServer配置管理器”中切换到“XXX的协议”里面选择,TCP/IP协议属性中可以设置TCP端口。如图所示:SSIS要调用DCOM协议
系统 2019-08-12 01:53:24 1924
SQLServer2008提供的日期/时间格式变动的精确数可以节省空间时间与日期分开,在利用betweenand取间隔时可方便许多旧的时间函数可以使用新的数据型态,提供新的时间函数以取得更精确的时间数据表型态的参数可以先定义数据表Type,再宣告该型态的变量CREATETYPEmytabASTABLE(idint);DECLARE@tmytab;传递数据表型态的参数是只读的T-SQL语法增强可以一行指令同时宣告变量与初始化值SQLcodeDECLARE@i
系统 2019-08-12 01:52:47 1924
SqlServer之like、charindex、patindex1、环境介绍测试环境SQL2005测试数据200W条2、环境准备2.1建表CREATETABLE[dbo].[Depratments]([Dep_id][int]NOTNULL,[Dep_name][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]2.2创建数据createprocedureins_Depratmentsasdec
系统 2019-08-12 01:55:25 1920
一、通过登陆后台备份数据库到空间,然后后下载!二、生成Sql脚本的方法。用Ssms(Sql原企业管理器)登陆数据库,点击[任务]--[生成脚本],按向导继续就行了。注意:下面图中的2个选项一定要选,如果不选,可能表中的数据无法生成。完整备份万网sqlserver数据库到本地的2种方法(喜欢第2种)
系统 2019-08-29 22:32:50 1915