2013-03-29 131 views
1

我继承了格式不正确的SQL服务器数据库。 (一些咨询公司进来做项目,离开还没有走完) 我的主要问题与此数据库是:数据库清理

  • 数据类型:很多TINYINT和文本类型。
  • 表格没有被标准化:有些键名称而不是seq id。
  • 很多的表,我不知道正在使用
  • 了很多的我不知道正在使用
  • 严重命名表和存储的特效

我也继承了存储过程针对此数据库运行的asp.net应用程序。

我想清理这个数据库了。我知道,更改数据类型将不得不在每个表上发生。为了摆脱所有额外的表格和存储过程。最简单的方法是什么? 任何其他技巧,使其更清洁,更小,是值得赞赏的。

我想还提到我已经安装了RedGate工具(如果有帮助的话)。

谢谢

+0

你写道:“表没有标准化:一些键是名称而不是seq id。” 只是想指出,规范化与使用自然或代理键无关。数据库可以很好地标准化,并使用主键和外键的名称。 – jpw

+0

在我看来,这是相当开放式的,并没有太多的细节来得到一个很好的答案。您可以使用redgate的“查找无效对象”及其“智能重命名”功能来查看引用的内容。但是你也可以在.NET应用程序中引用这些资源。长话短说,这将是一个缓慢的过程。大量的手动检查和一些试验(包括智能重命名!)和错误,以找出最终的清理最终会如何。 –

+0

jpw-我知道名称可以用于FKs,我说如果表B有列(seqid,Description),在表A中链接是A.Description = B.Description。 – curiousMo

回答

0

时退房Sql Server Data Tools他们允许创建从实时数据库的项目。您可以在此处执行的一些操作是右键单击表格,视图和函数的“查找用例”。

只要以前的开发人员使用存储过程和视图而不是直接查询,它应该以这种方式找到对项目的引用,而不会中止您的项目。

另外,为了找到未使用的存储过程,在应用程序中的每个存储过程的顶部放置一些基本日志记录,在X天之后,未记录在表中的那些可能是安全的删除,否则通过您的.NET代码的乏味搜索将找到它们。