-
在SQLServer中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名
这个问题对于规模稍微大些的项目而言,显得尤其重要了,数据库中如果有几百个存储过程,难道还一个个找不成,即使自己很了解业务和系统,时间长了,也难免能记得住。如何使用SQL语句进行查询呢?下面就和大家分享下SQL查询的方法:复制代码代码如下:selectdistinctnamefromsyscommentsa,sysobjectsbwherea.id=b.idandb.xtype='p'andtextlike'%pro_GetSN%'上面的蓝色字体部分表示要查询的存储过程的名称...
数据库操作教程 2022-09-23 17:16:50 -
SQL统计一个数据库中所有表记录的数量
复制代码代码如下:CREATETABLE#tmptb(tbnamesysname,tbrowsint...
数据库操作教程 2022-09-23 17:16:35 -
分享:在存储过程中使用另一个存储过程返回的查询结果集的方法
很多查询类的存储过程会返回一个表结构的结果集,如果在其他存储过程中需要用到这个结果集,为了避免编写重复的sql脚本,可以直接使用前者的查询结果。 如,存储过程sp_GetBorrowRecord@BeginTime,@EndTime可以查询出某一时间范围(开始时间@BeginTime,结束时间@EndTime)内的所有借书记录...
数据库操作教程 2022-09-23 17:16:04 -
只有mdf文件的数据库附加失败的修复方法分享(置疑、只读)
只有mdf文件的数据库附加失败的修复附加时报如下错误:服务器:消息1813,级别16,状态2,行1未能打开新数据库'test'。CREATEDATABASE将终止...
数据库操作教程 2022-09-23 17:15:47 -
SQLServer2000升级到SQLServer2008性能之需要注意的地方之一
测试sql:复制代码代码如下:SETSTATISTICSIOONSETSTATISTICSTIMEONSELECTCOUNT(1)FROMdbo.tbtextaINNERLOOPJOINdbo.tbtextbONa.id=b.idoption(maxdop1)SETSTATISTICSIOOffSETSTATISTICSTIMEOff表结构:复制代码代码如下:CREATETABLE[dbo].[tbtext]([id][int]IDENTITY(1,1)NOTNULL,[VALUE][int]NULL)ON[PRIMARY]单这句测试,看执行计划根本看不出区别。|--ComputeScalar(DEFINE:([Expr1006]=CONVERT_IMPLICIT(int,[Expr1009],0)))|--StreamAggregate(DEFINE:([Expr1009]=Count(*)))|--NestedLoops(InnerJoin,WHERE:([northwind].[dbo].[tbtext].[id]as[b].[id]=[northwind].[dbo].[tbt...
数据库操作教程 2022-09-23 17:15:01 -
多列复合索引的使用绕过微软sqlserver的一个缺陷
然而,微软sqlserver在处理这类索引时,有个重要的缺陷,那就是把本该编译成索引seek的操作编成了索引扫描,这可能导致严重性能下降举个例子来说明问题,假设某个表T有索引(cityid,sentdate,userid),现在有个分页列表功能,要获得大于某个多列复合索引V0的若干个记录的查询,用最简单表意的方式写出来就是V>=V0,如果分解开来,就是:cityid>@cityid0or(cityid=@cityid0and(sentdate>@sentdate0or(sentdate=@sentdate0anduserid>=@userid0))),当你写出上述查询时,你会期待sqlserver会自动的把上述识别为V>=V0类型的边界条件,并使用indexseek操作来实施该查询。然而,微软的sqlserver(2005版)有一个重要缺陷(其他的sqlserver如何还不得知),当它遇到这样sql时,sqlserver就会采用indexscan来实施,结果是您建立好的索引根本就没有被使用,如果这个表的数据量很大,那所造成的性能下降是非常大的...
数据库操作教程 2022-09-23 17:13:59 -
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
1、查询SQL中的所有表:SelectTABLE_NAMEFROM数据库名称.INFORMATION_SCHEMA...
数据库操作教程 2022-09-23 17:06:55 -
SQL参数化查询的另一个理由命中执行计划
1概述SQL语言的本质就是一串伪代码,表达的是做什么,而不是怎么做的意思。如其它语言一样,SQL语句需要编译之后才能运行,所以每一条SQL是需要通过编译器解释才能运行的(在这之间还要做SQL的优化)...
数据库操作教程 2022-09-23 17:05:00 -
SQLServer误区30日谈第7天一个实例多个镜像和日志传送延迟
误区#7:一个数据库可以存在多个镜像错误这个误区就有点老生常谈了。每一个主体服务器只允许一个镜像服务器...
数据库操作教程 2022-09-23 17:04:57 -
SQLServer误区30日谈第20天破坏日志备份链之后,需要一个完整备份来重新开始日志链
误区#20:在破坏日志备份链之后,需要一个完整备份来重新开始日志链错误事务日志备份会备份自上次事务日志备份以来所有的事务日志(如果从来没有过日志备份的话,那就从上一次完整备份开始)。有好几种类型的操作会中断事务日志的连续性,也就是说除非重新开始新的日志链,SQLServer无法再进行日志备份...
数据库操作教程 2022-09-23 17:03:48 -
同一个sql语句连接两个数据库服务器
execsp_addlinkedserver'逻辑名称','','SQLOLEDB','远程服务器名或ip地址'execsp_addlinkedsrvlogin'逻辑名称','false',null,'用户名','密码'go建立完成之后就可以正常使用了select*from逻辑名称。数据库名称...
数据库操作教程 2022-09-23 16:57:50