-
SQLSERVER收集语句运行的统计信息并进行分析
对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间、执行时间、做了多少次磁盘读等。如果DBA能够把问题语句单独测试运行,可以在运行前打开下面这三个开关,收集语句运行的统计信息...
数据库操作教程 2022-09-23 17:04:47 -
SQL临时表递归查询子信息并返回记录的代码
复制代码代码如下:declare@Q_IDuniqueidentifierset@Q_ID=dbo.uf_GetParamValueByName(@Params,'@指标ID');declare@QAExp_IDchar(36)--指标属性公式IDset@QAExp_ID='3D2B8F3F-0B7E-46FD-9B33-050F846C2869'declare@temp_qidtable(QIDchar(36),ExpValuenvarchar(max))--临时表变量获得指标根IDdeclare@QIDtempchar(36),@expressnvarchar(4000)declare@kint=2--层次declare@patternnvarchar(2)='ID'--指标公式拆分字段declare@charidexint--指标对应的索引if(@OPType='根据指标ID查找公式所有子指标')begincreatetable#TempQuotaStruct--创建临时表#TmpStruct(QIDchar(36),--创建一个ID用来存储指标IDPIDchar(36),--用...
数据库操作教程 2022-09-23 17:04:04 -
SQLServer常用语句(按功能分)
一、简单查询简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等...
数据库操作教程 2022-09-23 16:58:10 -
SQLServer附加数据库后出现只读或失败的解决方法
解决此问题的几个关键点如下:1、该现象只会出现在NTFS文件系统中。2、由NTFS文件系统的访问权限导致...
数据库操作教程 2022-09-23 16:51:55 -
用sql语句实现分离和附加数据库的方法
对于用ManageStudio自己看着界面操作就可以应付了。分离数据库:对于用存储过程来分离数据库,如果发现无法终止用户链接,可以使用ALTERDATABASE命令,并利用一个能够中断已存在链接的终止选项来把数据库设置为SINGLE_USER模式,设置为SIGLE_USER代码如下:ALTERDATABASE[DatabaseName]SETSINGLE_USERWITHROLLBACKIMMEDIATE下面是分离数据库的CMD命令EXECsp_detach_dbDatabaseName一旦一个数据库分离成功,从SQLServer角度来看和删除这个数据库没有什么区别...
数据库操作教程 2022-09-23 16:51:50 -
SQLServer自动更新统计信息的基本算法
自动更新统计信息的基本算法是:·如果表格是在tempdb数据库表的基数是小于6,自动更新到表的每个六个修改。·如果表的基数是大于6,但小于或等于500,更新状态每500的修改...
数据库操作教程 2022-09-23 16:50:50 -
MSSQL2005数据附加失败报错3456解决办法
解决办法:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sqlserver(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sqlserver5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。复制代码代码如下:USEMASTERGOSP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDEGOUPDATESYSDATABASESSETSTATUS=32768WHERENAME='置疑的数据库名'Gosp_dboption'置疑的数据库名','singleuser','true'GoDBCCCHECKDB('置疑的数据库名')Goupdatesysdatabasessetstatus=28wherename='置疑的数据库名'Gosp_configure'allowupdates',0reconfigurewithoverride...
数据库操作教程 2022-09-23 16:50:23 -
获取MSSQL表结构中字段的备注、主键等信息的sql
1、MSSQL2000复制代码代码如下:SELECT表名=casewhena.colorder=1thend...
数据库操作教程 2022-09-23 16:46:40 -
附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本的解决方法
昨天我只是将数据库附加到SQL2012,然后各个数据库都做了收缩事务日志的操作兼容级别这些都没有改再附加回SQL2005的时候就报错在SQL2012里附加,确实是90级别,但是在SQL2005死活附加不上备份数据库再还原也是一样重建事务日志也是一样然后我做了一个实验,检查一下附加到SQL2012的数据库和附加到SQL2005的数据库,两个数据库的文件头有什么不同注意:两个数据库的兼容级别都是90,附加到SQL2012之后我也没有动过兼容级别!!我们用同一个数据库,分别附加到SQL2005上和SQL2012上,看一下附加之后数据库的文件头有没有改变这个数据库的兼容级别是90的附加到SQL2012之后,我也不改变他的兼容级别查看文件头的SQL语句如下,实际上就是数据库的第0页:复制代码代码如下:DBCCTRACEON(3604,-1)DBCCPAGE(dlgpos,1,0,3)在SQL2012里和SQL2005里都执行一下将结果复制粘贴到一个新建的记事本里,命名好复制代码代码如下:DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系...
数据库操作教程 2022-09-23 16:46:24 -
sqlserver数据库获取数据库信息
MSSQLSERVER获取当前数据库文件等信息,适用于多个版本:复制代码代码如下:SELECTdbf.file_idASFileID ,dbf...
数据库操作教程 2022-09-23 16:46:00 -
一条SQL语句修改多表多字段的信息的具体实现
之前修改两张及以上表的时候,总得需要用几次语句才修改,万一其中一条没修改上,又没事务机制的话,处理很麻烦,于是想到能不能一条语句完成呢?结果是成功的~~多表多字段的时候,得用到表关联的方式修改信息:复制代码代码如下:UPDATE`user`join`binding`on`user`.`uid`=`binding`.`uid`SET`user`.`renren`="",`binding`.`renren_token`="",`binding`.`rt_time`=""WHERE`user`.`uid`='.$in['uid'];语法类似上面所表示的。还有没有更好的解决方法,还有待莫离进一步研究...
数据库操作教程 2022-09-23 16:45:54