SQL Server
文章平均质量分 79
SQL SERVER数据库的管理经验与程序,摸爬滚打管理SQL SERVER 18年
moqing
这个作者很懒,什么都没留下…
展开
-
SQL SERVER生成排除特定表后生成所有视图与表的授权语句
Selectname,'GRANT SELECT ON ' + RTRIM(name) +' TO hrquerry_R' as 授权语句 ,type_descFromsys.all_objectsWhere name not in( 'hm','hr_1','hr_2','gzqt') ...原创 2020-03-09 11:11:36 · 172 阅读 · 0 评论 -
十八年老程员重磅分享 SQL优化经验
一、SQL优化上不得不谈的SQL灾难 SQL灾难初期不显: 项目初期效果与灾难不可触及: 项目初期,业务数据量少, SQL执行效率的影响不明显,开发和运维以及业务人员无法体悟出个中好坏。 SQL灾难的后果是瘫痪性的:SQL的灾难影响通常是一大片,涉及到的业务项目、功能模块乃致整个数据库。这在我们公司的物流出仓,生产订单,销售订单等及时性高的业务部门项目上可能会给公司达来直接的经济...原创 2020-03-04 17:07:26 · 203 阅读 · 0 评论 -
记录消耗超过200MB内存的语句,自动清理消耗超过1GB内存的语句
---- Exec MQTrcMemoryOutAutoKillSPID 20000,1000Create procedure MQTrcMemoryOutAutoKillSPID (@nMem as int, --需要保存记录的内存值(KB) @nMaxMem as int --最大内存值(MB),超过将KILL进程 )WITH ENCRY...原创 2020-03-04 10:31:55 · 227 阅读 · 0 评论 -
死锁进程发送邮件通知或自动清理并发送邮件通知
--MQLCK_profile 为数据库邮件配置名称---- [dbo].[MQPrd_DBLockLog] 20,0,'Wan'Create procedure [dbo].[MQPrd_DBLockLog] @nSec as int ,@isKill as bit,@cDBName char(12) WITH ENCRYPTIONasbegindeclare @spid ...原创 2020-03-04 10:34:57 · 737 阅读 · 1 评论 -
存储过程间表值传递
--测试数据准备Create table Product (ProductID varchar(18),cName varchar(50))insert into Product Select '80100212800','A'insert into Product Select '80100250006','B'insert into Product Select '8010103800...原创 2020-03-03 16:10:25 · 151 阅读 · 0 评论 -
字段是否存在,不存在就新增
IF Not Exists(SELECTTableName = OBJECT_NAME(c.object_id),ColumnsName = c.name,Description = ex.value,ColumnType=t.name,Length=c.max_lengthFROMsys.columns cLEFT OUTER JOIN sys.extended...原创 2020-03-03 16:06:39 · 861 阅读 · 0 评论 -
查询死锁与自动删除死锁联接
-- Exec [dbo].[HT_who_lockEx] 1 --- dbccreate procedure [dbo].[HT_who_lockEx]@isKill as bit -- 是否自动删除死锁联接asbegindeclare @spid int,@bl int, @intTransactionCountOnEntry int, @...原创 2020-03-03 16:04:29 · 160 阅读 · 0 评论 -
查看所有表的使用空间
create table #tb(表名 sysname,记录数 int,保留空间 varchar(100),使用空间 varchar(100),索引使用空间 varchar(100),未用空间 varchar(100))insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ''?'''--select * from #tbgoS...原创 2020-03-03 16:02:58 · 127 阅读 · 0 评论 -
以星期为周期备份数据到另一台机的网络盘上
1.先在D盘下创建一个备份目录: D:\SQLDBBackup\2.在数据库下执行如下语句: Use master go Create Procedure MQ_SQLDBBackUpEx @cPath AS VARCHAR(200) ,@cDatabase AS VARCHAR(200) WITH E...原创 2020-03-03 16:00:45 · 153 阅读 · 0 评论 -
存储过程间XML参数传递的实例
--测试数据准备Create table Product (ProductID varchar(18),cName varchar(50))insert into Product Select '80100212800','A'insert into Product Select '80100250006','B'insert into Product Select '8010103800...原创 2020-03-03 15:58:19 · 435 阅读 · 0 评论 -
自动对数据库中执行耗时超过10秒的语句自动保存到日志表,后续可以分析出哪些语句存在超时异常,如超时30分钟,10分钟,5分钟等
/*--建立人: 易登科--建立日期:2013/08/23--修改日期:--功能目的:创建一个新跟踪--exec [BeginNewTrack]--fn_trace_getinfo 参数为0可以看到所以的跟踪,也可指定traceID--SELECT * FROM fn_trace_getinfo (0) --停止 ID 为 2 的跟踪--EXECUTE sp_trace...原创 2020-03-03 15:53:02 · 312 阅读 · 0 评论 -
自动清理超时2分钟或CPU满负荷超过30秒的SQL语句
---- Exec MQTrcTimeOutAutoKillSPID 5,0Create procedure MQTrcTimeOutAutoKillSPID (@nMi as int, --超时的最大分钟数 @isCpuMax as int --CPU满负荷的语句是否处理 ) asBegin Declare @iStartTime a...原创 2020-03-03 15:33:32 · 285 阅读 · 0 评论 -
管理数据库的睡眠(Sleeping)连接,超过总连接数时,按序清理睡眠(Sleeping)连接
---- Exec MQTrcOverSleepingAutoKillSPID 650Create procedure MQTrcOverSleepingAutoKillSPID (@nMaxSleeping as int --允许的最大睡眠连接数 ) asBegin Declare @iStartTime as datetime Declare @imin...原创 2020-03-03 15:25:27 · 535 阅读 · 0 评论