Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 数据库模式质量门/分析_Sql Server_Database Design_Sonarqube_Schema - Fatal编程技术网

Sql server 数据库模式质量门/分析

Sql server 数据库模式质量门/分析,sql-server,database-design,sonarqube,schema,Sql Server,Database Design,Sonarqube,Schema,我的任务是彻底改造一个数据库。该数据库存在所有此类不良做法,主键很少,缺少关系,数据类型选择不当。我理解其中一些很难理解,但肯定有一些是可以告诉我们的。如果名称是IsActive,类型是nvarchar,那么这至少应该是一种代码味道。我试图找到质量门,甚至一些工具,如RedGate Schema compare或类似工具 为了最终确定这是一个SQL Server数据库,我显然正在进入SSDT,以便我们可以获得有关更改的历史信息,我认为作为CI过程的一部分,我将在其上运行一个质量门 例如,T-SQ

我的任务是彻底改造一个数据库。该数据库存在所有此类不良做法,主键很少,缺少关系,数据类型选择不当。我理解其中一些很难理解,但肯定有一些是可以告诉我们的。如果名称是IsActive,类型是nvarchar,那么这至少应该是一种代码味道。我试图找到质量门,甚至一些工具,如RedGate Schema compare或类似工具

为了最终确定这是一个SQL Server数据库,我显然正在进入SSDT,以便我们可以获得有关更改的历史信息,我认为作为CI过程的一部分,我将在其上运行一个质量门

例如,T-SQL有一个,但我找不到一个可以分析模式的工具,也找不到一个真正可以在本地或从bitbucket管道角度设置模式的工具,我个人使用它进行大量的通用质量检查。例如,搜索没有主键的表,或名称中有id但没有引用任何内容的列,或强制执行命名标准

这是一种特别有价值的方法,如果

您编写测试以生成代码来修复问题, 您可以在其他数据库中在几分钟内移动这些测试,这样可以节省几天的工作。
有一系列这样的测试可以免费使用。我强烈建议您与tSQLt一起查看它们。

问题到底是什么?要求非现场资源是离题的。在这个论坛中,你可以问一些问题,比如我如何查询数据模式以返回列与名称和数据类型匹配的表,这样我们就可以帮助你开发一个工具,就像你所要求的一样,但一般来说,你的问题是模糊的,并且会引起固执己见的回答。举个例子,我的大部分业务都在做你描述的任务,如果有一种一刀切的方法,我就没有工作了。