-
sqlserver还原数据库时提示数据库正在使用,无法进行操作的解决方法
这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户。解决办法就是关闭与要还原数据库的所有连接...
数据库操作教程 2022-09-23 17:09:51 -
SqlServer:多行合并成一行,并做分组统计的两个方法
复制代码代码如下:--创建test表,插入数据CREATETABLEtest(codevarchar(50),[values]varchar(10),[count]int)INSERTtestSELECT'001','aa',1UNIONALLSELECT'001','bb',2UNIONALLSELECT'002','aaa',4UNIONALLSELECT'002','bbb',5UNIONALLSELECT'002','ccc',3; --方法一--将多行合并成一行,并做分组统计SELECTcode, [values]= stuff(b.[values]...
数据库操作教程 2022-09-23 17:08:19 -
sqlserver中重复数据值只取一条的sql语句
复制代码代码如下:--建立数据表createtableTestData(IDintidentity(1,1)primarykey...
数据库操作教程 2022-09-23 17:08:11 -
浅谈SQLServer中统计对于查询的影响分析
而每次查询分析器寻找路径时,并不会每一次都去统计索引中包含的行数,值的范围等,而是根据一定条件创建和更新这些信息后保存到数据库中,这也就是所谓的统计信息。如何查看统计信息查看SQLServer的统计信息非常简单,使用如下指令:DBCCSHOW_STATISTICS('表名','索引名')所得到的结果如图1所示...
数据库操作教程 2022-09-23 17:07:35 -
SQLServer误区30日谈第9天数据库文件收缩不会影响性能
误区#9:数据库文件收缩不会影响性能错误! 收缩数据库文件唯一不影响性能的情况是文件末尾有剩余空间的情况下,收缩文件指定了TruncateOnly选项。 收缩文件的过程非常影响性能,这个过程需要移动大量数据从而造成大量IO,这个过程会被记录到日志从而造成日志暴涨,相应的,还会占去大量的CPU资源...
数据库操作教程 2022-09-23 17:07:25 -
用SQL统计SQLServe表存储空间大小的代码
其实SQLServer提供了一个sp_spaceused的系统存储过程可以实现该功能,下面就是调用的SQL:复制代码代码如下:createtable#tb(表名sysname,记录数int,保留空间varchar(10),使用空间varchar(10),索引使用空间varchar(10),未用空间varchar(10))insertinto#tbexecsp_MSForEachTable'EXECsp_spaceused''?'''select*from#tbgodroptable#tb这样就可以枚举出每个表存储空间的详细使用情况!...
数据库操作教程 2022-09-23 17:07:19 -
设置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