tangjiaqi 4 rokov pred
rodič
commit
b6f2492107

+ 11 - 0
.project

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>SqlTool</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

+ 37 - 0
README.md

@@ -0,0 +1,37 @@
+# SqlTool
+
+#### 介绍
+一些常用的sql工具
+
+#### 软件架构
+软件架构说明
+
+
+#### 安装教程
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### 使用说明
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### 参与贡献
+
+1. Fork 本仓库
+2. 新建 Feat_xxx 分支
+3. 提交代码
+4. 新建 Pull Request
+
+
+#### 码云特技
+
+1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
+2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
+3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
+4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
+5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
+6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

+ 10 - 0
SL/操作日志查询.sql

@@ -0,0 +1,10 @@
+SELECT
+	*
+FROM
+	SL_sys_Schema.OperationLog ( nolock ) AS l
+	LEFT JOIN SL_sys_Schema.OperationLogDetail ( nolock ) AS det ON det.LogId= l.LogId
+
+	where PkVal='fbfa066aec4247ab865c47a9bd48b98f'
+	and l.CreatedOn BETWEEN '2019-11-08' and '2019-12-12'
+	and det.CreatedOn BETWEEN '2019-11-08' and '2019-12-12'
+	order by l.CreatedOn

+ 2 - 0
SL/查看阻塞new.sql

@@ -0,0 +1,2 @@
+SELECT * FROM op.findBlockingSpid
+SELECT * FROM op.findlockinfo

+ 6 - 0
SL/物料评审修复.sql

@@ -0,0 +1,6 @@
+SELECT IsMatAnalysis,pn.MIStatus,* FROM SL_mk_Schema.ProductNumber (nolock)as pn
+LEFT JOIN SL_pe_Schema.MatAnalysis (nolock) as mat on mat.ProductNumberid=pn.ProductNumberid
+
+where pn.IsMatAnalysis=1 and mat.AnalysisStatus=10
+
+order by pn.createdon

+ 0 - 3
test.txt

@@ -1,3 +0,0 @@
-A
-B
-C

+ 21 - 0
操作/杀死未提交事务.sql

@@ -0,0 +1,21 @@
+DECLARE @SPID AS INT
+DECLARE @COUNT AS INT=0
+
+DECLARE curSPID CURSOR FOR
+select SPID
+from master.sys.sysprocesses
+Where  status='sleeping' and waittype=0x0000 and open_tran>0
+
+OPEN curSPID
+FETCH NEXT FROM curSPID INTO @SPID
+
+WHILE @@FETCH_STATUS = 0
+BEGIN
+	EXEC('KILL '+ @SPID)
+	SET @COUNT+=1
+	PRINT 'KILL '+ CAST(@SPID AS VARCHAR)
+	FETCH NEXT FROM curSPID INTO @SPID
+END
+PRINT 'KILL COUNT:'+ CAST(@COUNT AS VARCHAR)
+CLOSE curSPID
+DEALLOCATE curSPID

+ 22 - 0
操作/清理索引碎片.sql

@@ -0,0 +1,22 @@
+DECLARE @name varchar(100)
+
+DECLARE authors_cursor CURSOR FOR
+    SELECT table_schema + '.' + table_name as [name]
+    FROM information_schema.tables
+    WHERE table_type = 'base table'
+
+
+OPEN authors_cursor
+
+FETCH NEXT FROM authors_cursor INTO @name
+
+WHILE @@FETCH_STATUS = 0
+    BEGIN
+
+        DBCC DBREINDEX (@name, '', 90)
+
+        FETCH NEXT FROM authors_cursor
+            INTO @name
+    END
+
+deallocate authors_cursor

+ 2 - 0
操作/清理缓存.sql

@@ -0,0 +1,2 @@
+DBCC DROPCLEANBUFFERS --清除缓冲区
+DBCC FREEPROCCACHE --删除计划高速缓存中的元素

+ 6 - 0
查询/查找关键字.sql

@@ -0,0 +1,6 @@
+select name, type_desc
+from sys.all_sql_modules s
+
+         inner join sys.all_objects o on s.object_id = o.object_id
+
+where definition like '%BoardSerial%'

+ 8 - 0
查询/查找死锁.sql

@@ -0,0 +1,8 @@
+-- ²éѯËÀËø
+select request_session_id                         spid,
+       OBJECT_NAME(resource_associated_entity_id) tableName
+from sys.dm_tran_locks
+where resource_type = 'OBJECT'
+
+
+--ɱËÀËÀËø½ø³Ì kill 354

+ 29 - 0
查询/查看未提交事务及阻塞.sql

@@ -0,0 +1,29 @@
+
+select spid 进程,STATUS 状态, 登录帐号=SUBSTRING(SUSER_SNAME(sid),1,30)
+,用户机器名称=SUBSTRING(hostname,1,12)
+,是否被锁住=convert(char(3),blocked)
+,数据库名称=SUBSTRING(db_name(dbid),1,20),cmd 命令,waittype as 等待类型
+,last_batch 最后批处理时间,open_tran 未提交事务的数量
+from master.sys.sysprocesses
+Where  status='sleeping' and waittype=0x0000 and open_tran>0
+
+
+
+select t1.resource_type [资源锁定类型],DB_NAME(resource_database_id) as 数据库名
+,t1.resource_associated_entity_id 锁定对象,t1.request_mode as 等待者请求的锁定模式
+,t1.request_session_id 等待者SID
+,t2.wait_duration_ms 等待时间
+,(select TEXT from sys.dm_exec_requests r cross apply
+sys.dm_exec_sql_text(r.sql_handle) where r.session_id=t1.request_session_id) as 等待者要执行的SQL
+,(select SUBSTRING(qt.text,r.statement_start_offset/2+1,
+(case when r.statement_end_offset=-1 then DATALENGTH(qt.text) else r.statement_end_offset end -r.statement_start_offset)/2+1
+)
+from sys.dm_exec_requests r cross apply sys.dm_exec_sql_text(r.sql_handle)qt
+where r.session_id=t1.request_session_id) 等待者正要执行的语句
+,t2.blocking_session_id [锁定者SID]
+,(select TEXT from sys.sysprocesses p cross apply
+sys.dm_exec_sql_text(p.sql_handle)
+where p.spid=t2.blocking_session_id
+) 锁定者执行语句
+from sys.dm_tran_locks t1,sys.dm_os_waiting_tasks t2
+where t1.lock_owner_address=t2.resource_address

+ 90 - 0
查询/查询数据字典.sql

@@ -0,0 +1,90 @@
+--按照Schema查询数据字典
+
+select 表名=case when colorder = -1 then name else '' end,
+
+       表说明=case when colorder = -1 then isnull(fvalue, '') else '' end,
+
+       字段名,
+       字段说明,
+       类型,
+       长度,
+       主键,
+       允许空,
+       默认值
+
+from (
+         SELECT   d.name,
+
+                  f.value as fvalue,
+
+             字段名=a.name,
+
+             字段说明=isnull(g.[value], ''),
+
+             类型=b.name,
+
+             长度=COLUMNPROPERTY(a.id, a.name, 'PRECISION'),
+
+             主键=case
+                    when exists(SELECT 1
+                                FROM sysobjects
+                                where xtype = 'PK'
+                                  and name in (
+                                    SELECT name
+                                    FROM sysindexes
+                                    WHERE indid in (
+                                        SELECT indid
+                                        FROM sysindexkeys
+                                        WHERE id = a.id AND colid = a.colid
+                                    ))) then '√'
+                    else '' end,
+
+             允许空=case when a.isnullable = 1 then '√' else '×' end,
+
+             默认值=isnull(e.text, ''),
+
+                  a.id,
+                  a.colorder
+
+         FROM syscolumns a
+
+                  left join systypes b on a.xtype = b.xusertype
+
+                  inner join sysobjects d on a.id = d.id and d.xtype = 'U' and d.name <> 'dtproperties'
+
+                  left join syscomments e on a.cdefault = e.id
+
+                  left join sys.extended_properties g on a.id = g.major_id and a.colid = g.minor_id
+
+                  left join sys.extended_properties f on d.id = f.major_id and f.minor_id = 0
+
+                  left join sys.tables t on t.object_id = d.id
+
+                  left join sys.schemas s on s.schema_id = t.schema_id
+
+         where s.name = 'SL_pc_Schema'
+
+         union all
+
+         select d.name,
+                isnull(f.value, ''),
+                null,
+                null,
+                null,
+                null,
+                null,
+                null,
+                null,
+                -1,
+                -1
+
+         from sysobjects d
+                  left join sys.extended_properties f on d.id = f.major_id and f.minor_id = 0
+
+                  left join sys.tables t on t.object_id = d.id
+
+                  left join sys.schemas s on s.schema_id = t.schema_id
+
+         where s.name = 'SL_pc_Schema'
+     ) as tmp
+order by name, id, colorder

+ 8 - 0
查询/查询连接数.sql

@@ -0,0 +1,8 @@
+select count(distinct(login_time)) from sys.sysprocesses
+
+select * from sys.sysprocesses
+WHERE loginame = 'ba'
+
+select hostname,COUNT(*) from sys.sysprocesses
+WHERE loginame = 'ba'
+group BY hostname

+ 11 - 0
磁盘读写情况.sql

@@ -0,0 +1,11 @@
+--说明
+--性能指标建议列表
+--          数据文件                日志文件
+--目标:     <10 ms                  >5
+--可接受:    10-20 ms              5-15
+--不可接受: >20 ms                  >15
+
+SELECT db_name(database_id) AS 'DB Name',file_id,io_stall_read_ms / num_of_reads AS 'Avg Read Transfer/ms',
+  io_stall_write_ms / num_of_writes AS 'Avg Write Tranfer/ms'
+FROM sys.dm_io_virtual_file_stats(-1, -1)
+WHERE num_of_reads > 0 AND num_of_writes > 0