zoukankan      html  css  js  c++  java
  • 数据库分析实用脚本

    --**************************************
    -- 数据库分析实用脚本
    --**************************************
    --1 查询数据库ID                                                                                                       
    select db_id('soft')
    --插入默认GUID
    ALTER TABLE [dbo].[DD_BandTotalProportion] ADD  CONSTRAINT [DF_DD_BandTotalProportion_Id]  DEFAULT (NEWID()) FOR [Id]
    --2 查询 连接数据库的进程ID select Hostname,spid,* from master.dbo.sysprocesses where dbid in (select dbid from master.dbo.sysdatabases where name='soft2') and Hostname like 'PC201710101756%' --3 查询数据库所有表记录 SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE (a.type = 'u') AND (b.indid IN (0, 1)) ORDER BY b.rows DESC --4 查询表数据字典完全版 SELECT 表名=case when a.colorder=1 then d.name else '' end, 字段序号=a.colorder, 字段名=a.name, 标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then ''else '' end, 主键=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, 类型=b.name, 占用字节数=a.length, 长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'), 小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0), 允许空=case when a.isnullable=1 then ''else '' end, 默认值=isnull(e.text,''), 字段说明=isnull(ep.[value],'') 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 AS ep ON ep.major_id = a.id and ep.class =1 and a.colorder=ep.minor_id where d.name='aaClass' --如果只查询指定表,加上此条件 order by a.id,a.colorder -- 5 查询数据字典简化版 SELECT t.[name] AS 表名, c.[name] AS 字段名, cast(ep.[value] as nvarchar(200)) AS [字段说明] FROM sys.tables AS t INNER JOIN sys.columns AS c ON t.object_id = c.object_id LEFT JOIN sys.extended_properties AS ep ON ep.major_id = c.object_id AND ep.minor_id = c.column_id WHERE --ep.class =1 AND t.name='aaClass' --6 查询数据库所有对象的定义 --D:默认值,FN:xx函数,IF:xx函数,TF:xx函数 P:存储过程,TR:触发器 V :视图 select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules b where a.is_ms_shipped=0 and a.object_id = b.object_id -- and a.[type] in ('P','V','AF','FN') --要查询的对象类型 -- and a.name='对象名' --要查询的对象名称 order by a.[type] asc --1. Name:对象名 --2. Object_id:对象标识号,在数据中是唯一的 --3. Principal_id :架构所有者ID --4. Parent_object_id:此对象所属对象的ID,0 = 不是子对象 --5. Type:对象类型,常用的类型有, AF = 聚合函数 P = SQL 存储过程 V = 视图 TT = 表类型 U = 表(用户定义类型) --6. Type_desc:对象类型的说明 --7. Create_date / Modify_date :创建日期 / 修改日期 --8. is_ms_shipped:是否为 内部 SQL Server 组建所创建的对象,常用来判断 是否是 系统内置或用户自定义 的对象
    --数据库查询性能监控
    DECLARE @t DATETIME
        SELECT @t=GETDATE()
        waitfor delay '00:00:01' --延迟1秒
        SELECT DATEDIFF(ms,@t,GETDATE())
    --判断存储过程是否存在
    if exists(select 1 from sysobjects where id=object_id('PROC_GetQty_FromTBusRetail') and xtype='P')   
    DROP PROCEDURE PROC_GetQty_FromTBusRetail

     --如果是实表可以用
    if exists (select * from sysobjects where id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 
    drop table [dbo].[表名]

    --如果是临时表可以用(说明,如果用查找实表方法来打临时表会找不到.发布区别对代.)
    if object_id('tempdb..##temp') is not null
       drop table ##temp

    数据库锁:帮助脚本

    --
    锁表(其它事务不能读、更新、删除) BEGIN TRAN SELECT * FROM <表名> WITH(TABLOCKX); WAITFOR delay '00:00:20' COMMIT TRAN --锁表(其它事务只能读,不能更新、删除) BEGIN TRAN SELECT * FROM <表名> WITH(HOLDLOCK); WAITFOR delay '00:00:20' COMMIT TRAN --锁部分行 BEGIN TRAN SELECT * FROM <表名> WITH(XLOCK) WHERE ID IN ('81A2EDF9-D1FD-4037-A17B-1369FD3B169B'); WAITFOR delay '00:01:20' COMMIT TRAN --查看被锁表 select request_session_id 锁表进程,OBJECT_NAME(resource_associated_entity_id) 被锁表名 from sys.dm_tran_locks where resource_type='OBJECT'; --解锁 declare @spid int Set @spid = 55 --锁表进程 declare @sql varchar(1000) set @sql='kill '+cast(@spid as varchar) exec(@sql)
  • 相关阅读:
    GPU CUDA之——深入理解threadIdx
    需求分析、业务逻辑与数据结构
    软件建模的本质
    浅谈软件需求建模
    软件建模即程序设计
    软件开发从0到1与软件建模
    数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。
    观察力与信息搜集能力
    人类为什么写书
    鲁宾斯坦说:"思维是在概括中完成的。"
  • 原文地址:https://www.cnblogs.com/zoumin123/p/7742492.html
Copyright © 2011-2022 走看看