-
SQLServer误区30日谈第9天数据库文件收缩不会影响性能
误区#9:数据库文件收缩不会影响性能错误! 收缩数据库文件唯一不影响性能的情况是文件末尾有剩余空间的情况下,收缩文件指定了TruncateOnly选项。 收缩文件的过程非常影响性能,这个过程需要移动大量数据从而造成大量IO,这个过程会被记录到日志从而造成日志暴涨,相应的,还会占去大量的CPU资源...
数据库操作教程 2022-09-23 17:07:25 -
设置SQLServer数据库中某些表为只读的多种方法分享
一般情况下会有几种情况需要你把数据库设为只读:1.Insert,Update,Delete触发器2.Check约束和Delete触发器3.设置数据库为只读4.把表放到只读文件组中5.拒绝对象级别权限6.创建视图在开始之前,先创建一个数据库及表作为示例:复制代码代码如下:createdatabaseMyDBcreatetabletblEvents(idint,logEventvarchar(1000))insertintotblEventsvalues(1,'PasswordChanged'),(2,'UserDropped'),(3,'FinanceDataChanged')nsert/Update/Delete触发器:请注意这里使用的是INSTEADOFtrigger,因为如果你使用了AFTERtrigger,会在执行DELETE,UPDATE和INSERT语句时请求锁,会对写事务日志和回滚操作造成性能上的影响复制代码代码如下:CREATETRIGGERtrReadOnly_tblEventsONtblEventsINSTEADOFINSERT,UPDATE,DELETEASBEGI...
数据库操作教程 2022-09-23 17:07:16 -
sqlserver中通过查询分析器实现数据库的备份与恢复方法分享
sqlserver的备份与恢复(查询分析器)查询分析器:命令:1:备份数据库命令:backupdatabasewhdb1(要备份的数据库名)todisk='d:/zwh.bak';2:恢复数据库命令:restoredatabasewhdb1(要恢复的数据库名)fromdisk='d:/zwh...
数据库操作教程 2022-09-23 17:07:14 -
SqlServer系统数据库的作用深入了解
MasterMaster数据库保存有放在SQLSERVER实体上的所有数据库,它还是将引擎固定起来的粘合剂。由于如果不使用主数据库,SQLSERVER就不能启动,所以你必须要小心地管理好这个数据库...
数据库操作教程 2022-09-23 17:07:03 -
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
1、查询SQL中的所有表:SelectTABLE_NAMEFROM数据库名称.INFORMATION_SCHEMA...
数据库操作教程 2022-09-23 17:06:55 -
SQL语句删除2条重复数据一条保留一条
--任意的测试表复制代码代码如下:CREATETABLEtest_delete(namevarchar(10),valueINT);go--张三100与王五80是有重复的INSERTINTOtest_deleteSELECT'张三',100UNIONALLSELECT'张三',100UNIONALLSELECT'李四',80UNIONALLSELECT'王五',80UNIONALLSELECT'王五',80UNIONALLSELECT'赵六',90UNIONALLSELECT'赵六',70go--测试检索数据SELECTROW_NUMBER()OVER(PARTITIONBYname,valueORDERBY(SELECT1))ASno,name,valueFROMtest_deletenonamevalue-----------------------------------------1李四801王五802王五801张三1002张三1001赵六701赵六90--创建视图复制代码代码如下:CREATEVIEWtmp_viewASSELECTROW_NUMBER()OVER(PARTI...
数据库操作教程 2022-09-23 17:06:52 -
SQLserver删除某数据库中所有表实现思路
方便删除数据库中所有的数据表,清空数据库,有些有约束,不能直接delete,需要先删除库中的约束,代码如下复制代码代码如下:--删除所有约束DECLAREc1cursorforselect'altertable['+object_name(parent_obj)+']dropconstraint['+name+'];'fromsysobjectswherextype='F'openc1declare@c1varchar(8000)fetchnextfromc1into@c1while(@@fetch_status=0)beginexec(@c1)fetchnextfromc1into@c1endclosec1deallocatec1--删除数据库所有表declare@tnamevarchar(8000)set@tname=''select@tname=@tname+Name+','fromsysobjectswherextype='U'select@tname='droptable'+left(@tname,len(@tname)-1)exec(@tname)然后清空数据库中的所有表:...
数据库操作教程 2022-09-23 17:06:51 -
还原sqlserver数据库的处理方法
如何从备份设备还原备份(企业管理器)从备份设备还原备份展开服务器组,然后展开服务器。展开"数据库"文件夹,右击数据库,指向"所有任务"子菜单,然后单击"还原数据库"命令...
数据库操作教程 2022-09-23 17:06:47 -
SQLSERVER数据库中的5173错误解决方法
昨天同事给你我一个有问题的数据库,叫我修复一下因为客户那边需要这个数据库,这个数据库只有一个mdf文件和一个ldf文件,当我附加数据库的时候报错,数据库是SQL2005附上有损坏的数据库文件:因为之前在论坛也遇到过,所以按照论坛的方法来解决,结果还是不行把ldf文件移到别的地方,然后附加的时候使用下面SQL语句重建事务日志文件我的数据库文件放在C:UsersAdministratorDesktop新建文件夹目录下复制代码代码如下:USE[master]GOCREATEDATABASE[AdventureWorks2012]ON(FILENAME=N'C:UsersAdministratorDesktop新建文件夹GPOSDB.mdf')FORATTACH_REBUILD_LOGGO报错内容:复制代码代码如下:1文件激活失败。物理文件名称'D:MSSSQLDataGPOSDB_log.LDF'可能不正确...
数据库操作教程 2022-09-23 17:06:35 -
数据库性能优化三:程序操作优化提升性能
数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第三部分 概述:程序访问优化也可以认为是访问SQL语句的优化,一个好的SQL语句是可以减少非常多的程序性能的,下面列出常用错误习惯,并且提出相应的解决方案一、操作符优化1.IN、NOTIN操作符IN和EXISTS性能有外表和内表区分的,但是在大数据量的表中推荐用EXISTS代替IN。NotIN不走索引的是绝对不能用的,可以用NOTEXISTS代替2.ISNULL或ISNOTNULL操作索引是不索引空值的,所以这样的操作不能使用索引,可以用其他的办法处理,例如:数字类型,判断大于0,字符串类型设置一个默认值,判断是否等于默认值即可3.<>操作符(不等于)不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描...
数据库操作教程 2022-09-23 17:06:12 -
获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用
复制代码代码如下:SELECTABS(DATEDIFF(dd,EndDate,BeginDate))FROMdbo.WorkingPlan其中,WorkingPlan为一张表,EndDate和BeginDate为WorkingPlan表中的结束时间和开始时间如果哪里有不正确的地方,欢迎批评指正,共同进步。...
数据库操作教程 2022-09-23 17:06:11 -
存储过程配合UpdateDaset方法批量插入Dataset数据实现代码
复制代码代码如下:publicboolSaveSMSMessage(SMSBatchsmsBatch,DataSetsmsMessages){//using(TransactionScopets=newTransactionScope(TransactionScopeOption.Suppress))//{foreach(DataRowrowinsmsMessages...
数据库操作教程 2022-09-23 17:06:08