REDGATE SQL TEST的使用

原文:REDGATE SQL TEST的使用

REDGATE SQL TEST的使用

SQL TEST下载和破解可以参考这篇文章:http://www.cnblogs.com/VAllen/archive/2012/10/01/SQLTest.html#

SQL TEST默认已经创建好5个测试数据库中错误的存储过程

第一个存储过程测试数据库中是否有Decimal数据类型大小的问题

第二个存储过程测试数据库中是否有以SP_开头的存储过程

第三个存储过程测试数据库中使用的动态sql是否没有使用sp_executesql来调用

第四个存储过程测试数据库中的存储过程是否有@@Identity全局变量

第五个存储过程测试数据库中存储过程是否有使用SET ROWCOUNT

您可以编辑这些默认的测试存储过程

例如第一个存储过程,测试Decimal数据类型大小错误

 1 ALTER PROCEDURE [SQLCop].[test Decimal Size Problem]
 2 AS
 3 BEGIN
 4     -- Written by George Mastros
 5     -- February 25, 2012
 6     -- http://sqlcop.lessthandot.com
 7     -- http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/always-include-precision-and-scale-with
 8
 9     SET NOCOUNT ON
10
11     Declare @Output VarChar(max)
12     Set @Output = ‘‘
13
14     Select @Output = @Output + Schema_Name(schema_id) + ‘.‘ + name + Char(13) + Char(10)
15     From    sys.objects
16     WHERE    schema_id <> Schema_ID(‘SQLCop‘)
17             And schema_id <> Schema_Id(‘tSQLt‘)
18             and (
19             REPLACE(REPLACE(Object_Definition(object_id), ‘ ‘, ‘‘), ‘decimal]‘,‘decimal‘) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI LIKE ‘%decimal[^(]%‘
20             Or REPLACE(REPLACE(Object_Definition(object_id), ‘ ‘, ‘‘), ‘numeric]‘,‘numeric‘) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI LIKE ‘%[^i][^s]numeric[^(]%‘
21             )
22     Order By Schema_Name(schema_id), name
23
24     If @Output > ‘‘
25         Begin
26             Set @Output = Char(13) + Char(10)
27                           + ‘For more information:  ‘
28                           + ‘http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/always-include-precision-and-scale-with‘
29                           + Char(13) + Char(10)
30                           + Char(13) + Char(10)
31                           + @Output
32             EXEC tSQLt.Fail @Output
33         End
34 END;

您也可以运行他,他会检查数据库中每个表的数据类型,并检查每个表中的数据

如果你想一次过执行所有的测试存储过程可以按左上角的run tests按钮



下面来试一下怎麽使用,先创建一个以SP_开头的存储过程,您可以按左上角的run tests按钮或者只选中test Procedures Named SP_

这个测试存储过程,然后右键-》run test

其他4个测试存储过程

 1 ALTER PROCEDURE [SQLCop].[test Procedures With SET ROWCOUNT]
 2 AS
 3 BEGIN
 4     -- Written by George Mastros
 5     -- February 25, 2012
 6     -- http://sqlcop.lessthandot.com
 7     -- http://sqltips.wordpress.com/2007/08/19/set-rowcount-will-not-be-supported-in-future-version-of-sql-server/
 8
 9     SET NOCOUNT ON
10
11     Declare @Output VarChar(max)
12     Set @Output = ‘‘
13
14     SELECT    @Output = @Output + Schema_Name(schema_id) + ‘.‘ + name + Char(13) + Char(10)
15     From    sys.all_objects
16     Where    type = ‘P‘
17             AND name Not In(‘sp_helpdiagrams‘,‘sp_upgraddiagrams‘,‘sp_creatediagram‘,‘testProcedures With SET ROWCOUNT‘)
18             And Replace(Object_Definition(Object_id), ‘ ‘, ‘‘) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI Like ‘%SETROWCOUNT%‘
19             And is_ms_shipped = 0
20             and schema_id <> Schema_id(‘tSQLt‘)
21             and schema_id <> Schema_id(‘SQLCop‘)
22     ORDER BY Schema_Name(schema_id) + ‘.‘ + name
23
24     If @Output > ‘‘
25         Begin
26             Set @Output = Char(13) + Char(10)
27                           + ‘For more information:  ‘
28                           + ‘http://sqltips.wordpress.com/2007/08/19/set-rowcount-will-not-be-supported-in-future-version-of-sql-server/‘
29                           + Char(13) + Char(10)
30                           + Char(13) + Char(10)
31                           + @Output
32             EXEC tSQLt.Fail @Output
33         End
34 END;

 1 ALTER PROCEDURE [SQLCop].[test Procedures with @@Identity]
 2 AS
 3 BEGIN
 4     -- Written by George Mastros
 5     -- February 25, 2012
 6     -- http://sqlcop.lessthandot.com
 7     -- http://wiki.lessthandot.com/index.php/6_Different_Ways_To_Get_The_Current_Identity_Value
 8
 9     SET NOCOUNT ON
10
11     Declare @Output VarChar(max)
12     Set @Output = ‘‘
13
14     Select    @Output = @Output + Schema_Name(schema_id) + ‘.‘ + name + Char(13) + Char(10)
15     From    sys.all_objects
16     Where    type = ‘P‘
17             AND name Not In(‘sp_helpdiagrams‘,‘sp_upgraddiagrams‘,‘sp_creatediagram‘,‘testProcedures with @@Identity‘)
18             And Object_Definition(object_id) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI Like ‘%@@identity%‘
19             And is_ms_shipped = 0
20             and schema_id <> Schema_id(‘tSQLt‘)
21             and schema_id <> Schema_id(‘SQLCop‘)
22     ORDER BY Schema_Name(schema_id), name
23
24     If @Output > ‘‘
25         Begin
26             Set @Output = Char(13) + Char(10)
27                           + ‘For more information:  ‘
28                           + ‘http://wiki.lessthandot.com/index.php/6_Different_Ways_To_Get_The_Current_Identity_Value‘
29                           + Char(13) + Char(10)
30                           + Char(13) + Char(10)
31                           + @Output
32             EXEC tSQLt.Fail @Output
33         End
34
35 END;

 1 ALTER PROCEDURE [SQLCop].[test Procedures using dynamic SQL without sp_executesql]
 2 AS
 3 BEGIN
 4     -- Written by George Mastros
 5     -- February 25, 2012
 6     -- http://sqlcop.lessthandot.com
 7     -- http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/avoid-conversions-in-execution-plans-by-
 8
 9     SET NOCOUNT ON
10
11     Declare @Output VarChar(max)
12     Set @Output = ‘‘
13
14     SELECT    @Output = @Output + SCHEMA_NAME(so.uid) + ‘.‘ + so.name + Char(13) + Char(10)
15     From    sys.sql_modules sm
16             Inner Join sys.sysobjects so
17                 On  sm.object_id = so.id
18                 And so.type = ‘P‘
19     Where    so.uid <> Schema_Id(‘tSQLt‘)
20             And so.uid <> Schema_Id(‘SQLCop‘)
21             And Replace(sm.definition, ‘ ‘, ‘‘) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI Like ‘%Exec(%‘
22             And Replace(sm.definition, ‘ ‘, ‘‘) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI Not Like ‘%sp_Executesql%‘
23             And OBJECTPROPERTY(so.id, N‘IsMSShipped‘) = 0
24     Order By SCHEMA_NAME(so.uid),so.name
25
26     If @Output > ‘‘
27         Begin
28             Set @Output = Char(13) + Char(10)
29                           + ‘For more information:  ‘
30                           + ‘http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/avoid-conversions-in-execution-plans-by-‘
31                           + Char(13) + Char(10)
32                           + Char(13) + Char(10)
33                           + @Output
34             EXEC tSQLt.Fail @Output
35         End
36
37 END;

 1 ALTER PROCEDURE [SQLCop].[test Procedures Named SP_]
 2 AS
 3 BEGIN
 4     -- Written by George Mastros
 5     -- February 25, 2012
 6     -- http://sqlcop.lessthandot.com
 7     -- http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/don-t-start-your-procedures-with-sp_
 8
 9     SET NOCOUNT ON
10
11     Declare @Output VarChar(max)
12     Set @Output = ‘‘
13
14     SELECT    @Output = @Output + SPECIFIC_SCHEMA + ‘.‘ + SPECIFIC_NAME + Char(13) + Char(10)
15     From    INFORMATION_SCHEMA.ROUTINES
16     Where    SPECIFIC_NAME COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI LIKE ‘sp[_]%‘
17             And SPECIFIC_NAME COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT LIKE ‘%diagram%‘
18             AND ROUTINE_SCHEMA <> ‘tSQLt‘
19     Order By SPECIFIC_SCHEMA,SPECIFIC_NAME
20
21     If @Output > ‘‘
22         Begin
23             Set @Output = Char(13) + Char(10)
24                           + ‘For more information:  ‘
25                           + ‘http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/don-t-start-your-procedures-with-sp_‘
26                           + Char(13) + Char(10)
27                           + Char(13) + Char(10)
28                           + @Output
29             EXEC tSQLt.Fail @Output
30         End
31 END;

还会在测试数据库生成一些存储过程和函数

某些存储过程还加密了的



创建测试存储过程

SQL TEST跟SQL PROMPT一样,根据SQLSERVER版本来开发的

REDGATE SQL TEST的使用,布布扣,bubuko.com

时间: 2024-10-29 19:06:34

REDGATE SQL TEST的使用的相关文章

使用Red Gate Sql Compare 数据库同步工具进行SQL Server的两个数据库的结构比较、同步

将测试版的项目同步(部署)到正式版的时候,两个数据库的结构比较与同步时,如果修改数据库的时候没有记录好修改了那些表,很难将两个数据库进行同步 RedGate Sql Compare使用简介说明: 1.比对并同步数据库中的所有对象 包括存储过程.关系.表.视图和用户定义的函数 2.报告所有差异 3.生成直接在目标数据库上运行的迁移脚本 Red gate sql compare 官网:http://www.red-gate.com/products/sql-development/sql-compa

1. SQL Server服务器监控实现方法

原文:1. SQL Server服务器监控实现方法 对于服务器的监控,和对数据库的监控,很少有合二为一的工具,如果有的话,一般是付费软件,或者自行开发的工具.所以如果不想购买软件,也不想花精力去开发的话,可以结合一些免费/开源的工具.自定义脚本,来完成对数据库服务器的监控. 一. 第三方工具1. 开源工具比如:CACTI,Nagios,Zabbix等等,除了主机外,对于网络上的其他设备,比如路由器等也可以一并监控.以CACTI为例(CACTI可以在windows下安装),服务器监控的图示:(1)

Visual Studio 2017 发布

https://www.visualstudio.com/zh-cn/news/releasenotes/vs2017-relnotes 发布日期:2017 年 3 月 7 日 摘要 开发:快速导航.编写并修复代码 新的安装体验 - 降低了最小内存需求量以实现更快.更定制化的安装,并且支持脱机安装. Visual Studio IDE - 大幅改进了 Visual Studio 2017,包括减少启动和解决方案加载时间.改进登录和标识.改进代码导航以及增添打开文件视图和链接的服务,实现了应用和任

我是这样工作的。三年的项目管理总结

售前扔过来一单后,一个项目就算开始了,开始的主要工作就是和他们做需求调研.做一些PPT,带上笔,本子还有各种参考,客户的各种文档,各种表格接踵而至,这是比较耗精力的段时间,当然也是最有激情的一段时间,常常在这时会激发我无限的想象,天马行空的跟客户探讨他们的需求,这个时候最能表现出我过往无数项目阅历的时刻了,我觉得我的表现欲就是在这个时候养成的.不管再怎么天马行空,也要看着钱,人,时间确定需求,最后定下一份双方可以接受的<需求概要说明书>. 拿到一份需求概要后,我会大致阅读里面的大的需求点,大致

ASP.NET 性能监控和优化入门

关键要点: 只有与应用指标相关联,基础设施指标才能最大发挥作用. 高效性能优化的关键在于性能数据. 一些APM工具为ASP.NET提供了开箱即用的支持,这样入门使用ASP.NET仅需最小限度的初始设置. 代码分析工具为程序性能给出了最为详尽的视图. 轻量级分析工具给出了网页性能的实时视图,可用在开发环境和生产环境中. “这个网页打开太慢了!”,对Web网站这样的抱怨是经常性的和普遍性的,尤其是自从Web应用开始逐渐替代桌面应用以来.虽然Web带来了全球交付这样的理想特性,但是也在性能层面带来了相

数据库高手(DBA专家 ,SSIS,replacation ,tourble shooting)

http://www.cnblogs.com/qanholas/category/266780.html 随笔分类 - mssql SQL Server 2008 Datetime Cast 成 Date 类型可以使用索引(转载) 摘要: 很久没写blog,不是懒,实在是最近我这的访问速度不好,用firefox经常上传不了图片 .......今天无意发现了SQL Server 2008 Datetime Cast 成 Date 类型可以使用索引,分享一下:测试环境:USETEMPDBGOCREA

Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa

Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa 1. 咨微海信数据库应用 工具 1 2. 数据库比较工具 StarInix SQL Compare   (500K) 3 3. sql delta v5.1 特别版 (15M  推荐) 4 4. RedGate.SQL.Compare.Pro.9.0.0.79 破解版 (9M) 8 5. BXC-SQLServer数据库对象对比工具下载 V1.02免费版_ <BXC-SQL... 8 6. Godsw

VS 2017正式版

Visual Studio 2017正式版发布全纪录 又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017.同时发布的还有 .NET Core Tooling 1.0 .NET Core Microservice instance Visual Studio for MAC preview 4 Visual Studio Mobile Center Preview T

Visual Studio 2017正式版发布全纪录

又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017.同时发布的还有 .NET Core Tooling 1.0 .NET Core Microservice instance Visual Studio for MAC preview 4 Visual Studio Mobile Center Preview Team Foundation Server 2017