摘要:1、锁表查询 --查看锁住的表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT
阅读全文
摘要:USE [BusinessSystemDB] GO /****** Object: StoredProcedure [dbo].[GET_TableScript_MSSQL] Script Date: 09/17/2018 17:51:50 ******/ SET ANSI_NULLS ON GO
阅读全文
摘要:--去除特殊字符,只留0-9,a-z,A-Z declare @teststr varchar(100) set @teststr='test #123^we' while patindex('%[^0-9a-zA-Z]%',@teststr)>0 SET @teststr=STUFF(@tests
阅读全文
摘要:思路 :先收集索引的信息,查看已有索引使用情况,删除不使用的索引,合并可以合并的索引,然后再重新收集信息,查看缺失的索引,最后建立索引。 第一步:收集索引信息 SELECT o.name AS tableName, i.index_id , i.name AS indexName, i.type A
阅读全文
摘要:以下代码及注释 注:‘--’为注释 --创建一个游标declare my_cursor cursor for --my_cursor为游标的名称,随便起select id,name from my_user --这是游标my_cursor的值,这里随便发挥看业务场景--打开游标open my_cur
阅读全文
摘要:本文将根据“数据库引擎优化顾问”(DTA)来发现无用或缺失的索引。 要使用“数据库引擎优化顾问”,首先需要对数据库负载进行监控,为数据库负载分析准备数据。从SSMS的工具中,打开SQL Server Profile,输入安全连接方式。在常规的标签下,模板选择“Standard(默认值)”,事件选择标
阅读全文
摘要:本文我们将重点给出动态视图法发现数据库中缺失的索引。对于索引的调整和新建将不在本文阐述范围,后续将陆续分享相关经验。 sys.dm_db_missing_index_details 缺失索引明细,包括相等列,不等列以及包含列,执行如下脚本,并查看结果 USE WideWorldImporters;G
阅读全文
摘要:我们知道,合理的索引能大幅提升性能,但冗余的索引也会降低数据库性能。随着我们业务的发展,数据库的中的表、表结构、查询的内容都有可能发生变化。这样,有的索引就可能不再使用了,需要删除(因为维护索引即浪费存储,又耗费性能);而有的表则需要修改或者增加索引。本文主要给出快速确定不再使用的索引的查找方式之一
阅读全文
摘要:先过先出法在很多的企业都非常试用,而基于企业的管理能力与实际业务数据中的不完整性,会造成实际物料的出入库情况是无序的。而管理者需要看到一定期间的物料库龄,特别是对于A,B类物料的关注情况。这样就需要IT部门对这一部分进行模拟用算法进行推演。给个例子供相关有需要的朋友参考 结果 if OBJECT_I
阅读全文
摘要:EXEC sp_addlinkedserver@server='DBMES', --链接服务器别名@srvproduct='',@provider='SQLOLEDB',@datasrc='192.168.5.139' --要访问的的数据库所在的服务器的ipGOEXEC sp_addlinkedsr
阅读全文
摘要:SQL Server日常维护中难免会遇到作业失败的情况。失败后自然需要知道它失败了,除了例行检查可以发现出错以外,有一个较实时的监控还是很有必要的。比较专业的监控系统比如SCOM虽然可以监控作业执行情况在出错时进行报警,但对于DBA来说可能可定制性不高,最主要的是负责监控的人员在看到报警后一般都需要
阅读全文
摘要:[sql] view plain copy IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[DBO].SP_AUTO_CREATEJOB') AND OBJECTPROPERTY(ID, N'ISPROCEDURE')
阅读全文
摘要:SQL分组取每组前一(或几)条记录(排名) mysql分组取每组前几条记录(排名) 附group by与order by的研究 http://www.jb51.net/article/31590.htm --按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: name val m
阅读全文
摘要:在SQL SERVER中用脚本管理作业,在绝大部分场景下,脚本都比UI界面管理作业要高效、简洁。打个简单的比方,如果你要查看作业的运行时长,如果用UI界面查看,100个作业,你就得在历史记录里面至少查看一百次甚至更多,还要记录、统计作业各个步骤的执行时间。而用脚本,一个查询就OK了。这篇文章分享一些
阅读全文
摘要:select object_name(object_id), i.name from sys.indexes i where i.index_id NOT IN (select s.index_id from sys.dm_db_index_usage_stats s where s.object_
阅读全文
摘要:BEGIN WITH tx AS ( SELECT a.object_id , b.name AS schema_name , a.name AS table_name , c.name AS ix_name , c.is_unique AS ix_unique , c.type_desc AS i
阅读全文
摘要:当一个系统中使用了很多的表,并且存在大量的存储过程,当数据库中的某个表删除了某个字段,那么相应的存储过程也需要改动,但是我们不知道哪些存储过程使用了该字段,那我们该怎么办?我们可以从之前的文档一个一个查找使用了该字段的存储过程,但是这样效率很多,而且还容易出错,我们可以使用下面的方法来查找所有使用了
阅读全文
摘要:执行最慢的SQL语句 SELECT (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总花费时间ms' ,total_worker_time/1000 N'所用的CPU总时间ms' ,to
阅读全文
摘要:SQLSERVER如何查看索引缺失 当大家发现数据库查询性能很慢的时候,大家都会想到加索引来优化数据库查询性能, 但是面对一个复杂的SQL语句,找到一个优化的索引组合对人脑来讲,真的不是一件很简单的事。 好在SQLSERVER提供了两种“自动”功能,给你建议,该怎么调整索引 第一种是使用DMV 第二
阅读全文
摘要:--创建用户自定义表类型CREATE TYPE dbo.CustomerTable AS TABLE ( Id int NOT NULL, Name char(10) NULL, PRIMARY KEY (Id)) 使用用户自定义表类型DECLARE @c CustomerTableINSERT I
阅读全文