-
SqlServer实用操作小技巧集合第1/2页
包括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等(一)挂起操作在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法:到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManager删除PendingFileRenameOperations(二)收缩数据库--重建索引DBCCREINDEXDBCCINDEXDEFRAG--收缩数据和日志DBCCSHRINKDBDBCCSHRINKFILE(三)压缩数据库dbccshrinkdatabase(dbname)(四)转移数据库给新用户以已存在用户权限execsp_change_users_login'update_one','newname','oldname'go(五)检查备份集RESTOREVERIFYONLYfromdisk='E:dvbbs.bak'(六)修复数据库ALTERDATABASE[dvbbs]SETSINGLE_USERGODBCCCHECKDB('dvbbs...
数据库操作教程 2022-09-23 16:56:24 -
提升SQLServer速度整理索引碎片
凭经验,这是索引碎片问题。检查索引碎片DBCCSHOWCONTIG(表),得到如下结果:DBCCSHOWCONTIG正在扫描'A'表...表:'A'(884198200);索引ID:1,数据库ID:13已执行TABLE级别的扫描...
数据库操作教程 2022-09-23 16:56:14 -
SQLServer通用的分区增加和删除的算法
首先是将一个数据表加入到分区表的方法:[dbo].[SP_Helper_Partition_Add]@SrcTablenvarchar(256),待加入的表@DestTablenvarchar(256),目标表@idxOnDestnvarchar(1024),目标表上的索引创建语句@Partition_func_namenvarchar(256),分区函数@PartColnvarchar(256),分区的列@SonIsParttinyint=1,待加入的表是否分区算法如下:获取到源表的分区列的值;在源表上加上分区列值的唯一性限制;然后确定是否有一个分区恰好能存放这个表;如果不存在,则返回;在源表上创建和目标表一样的索引;现在源表和目标结构一致,源表的内容能够存在目标分区上,使用altertableswitch完成分区;删除一个分区的算法[dbo]...
数据库操作教程 2022-09-23 16:56:10 -
SQLServer快速备份的十种方法
SQLServer备份是一项系统工程,十分耗费时间。由于运行期间数据库持续增长,所以相应的备份也要花掉更多时间...
数据库操作教程 2022-09-23 16:56:06 -
SQLServer数据库备份过程中经常遇到的九种情况
第一种情况:有RAID,还需要做数据库备份吗? 回答:需要。有了RAID,万一部份磁盘损坏,可以修复数据库,有的情况下数据库甚至可以继续使用...
数据库操作教程 2022-09-23 16:55:42 -
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 -
sqlserver2005行列转换实现方法
复制代码代码如下:--CreateCompanyTableCreateTableCompany(ComIDvarchar(50)primarykey,ComNamenvarchar(50)notnull,ComNumbervarchar(50)notnull,ComAddressnvarchar(200),ComTelevarchar(50))--CreateProductTableCreateTableProduct(ProductIDvarchar(50)primarykey,ComIDvarchar(50)notnull,ProNamenvarchar(200)notnull,ProNumberintnotnull)select*fromproduct--insertintotablevalueinsertCompanyselect('58C0F3FD-7B98-4E74-A1A8-7B144FCB8707','CompanyOne','SH19991028','ShangHai','98765432112')unionallselect('768B2E84-0AAB-4653-...
数据库操作教程 2022-09-23 16:55:39 -
防止SQLSERVER的事件探查器跟踪软件
两种方法的原理相同第一种方法:复制代码代码如下:procedureSQLCloseAllTrack;constsql='declare@TIDinteger'+'declareTracCursorFor'+'SELECTDistinctTraceidFROM::fn_trace_getinfo(default)'+'openTrac'+'FetchNextFromTracinto@TID'+'while@@fetch_status=0'+'begin'+'execsp_trace_setstatus@TID,0'+'execsp_trace_setstatus@TID,2'+'FetchNextFromTracinto@TID'+'end'+'CloseTrac'+'deallocateTrac';begin//停止所有SQLSERVER的跟踪器,以防止程序被別人跟踪ExecSql(sql);end;第二种方法:复制代码代码如下:withfaq1dobeginClose;sql.Clear;sql...
数据库操作教程 2022-09-23 16:55:32 -
SQLServerXML查询快速入门(18句话)
sqlxml入门:--byjinjazz1、xml:能认识元素、属性和值2、xpath:寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁)语法格式,这些语法可以组合为条件:"."表示自己,"...
数据库操作教程 2022-09-23 16:55:22 -
selectinto和insertintoselect两种表复制语句
第一句:SELECT*INTO[ToTable]FROM[FromTable]第二句:INSERTINTO[ToTable]([fild_One],[fild_Two])SELECT[fild_One],8FROM[FromTable]以上两句都是将[FromTable]的数据插入到[ToTable],但两句又有区别的:第一句(SELECTINTOFROM)要求目标表[ToTable]不存在,因为在插入时会自动创建。第二句(INSERTINTOSELECTFROM)要求目标表[ToTable]存在,由于目标表已经存在,所以我们除了插入源表[FromTable]的字段外,还可以插入常量,如例中的:8...
数据库操作教程 2022-09-23 16:55:15 -
SQLServer管理常用SQL语句
1.查看数据库的版本 select@@version 2.查看数据库所在机器操作系统参数 execmaster..xp_msver 3.查看数据库启动的参数 sp_configure 4.查看数据库启动时间 selectconvert(varchar(30),login_time,120)frommaster..sysprocesseswherespid=1 查看数据库服务器名和实例名 print'ServerName...............:'+convert(varchar(30),@@SERVERNAME) print'Instance..................:'+convert(varchar(30),@@SERVICENAME) 5.查看所有数据库名称及大小 sp_helpdb 重命名数据库用的SQL sp_renamedb'old_dbname','new_dbname' 6.查看所有数据库用户登录信息 sp_helplogins 查看所有数据库用户所属的角色信息 sp_helpsrvrolemember 修复迁移服务...
数据库操作教程 2022-09-23 16:55:14