问题:我们需要从Azure SQL数据库中删除Dead SQL对象(表,表,视图,存储的Procs等)不使用的DB且不属于SQL DB项目(SQLPROJ)。
所以我想知道是否有一种方法可以识别那些死去的SQL对象或找出SQL数据库中SQL对象之间的区别,而SQLProJ?
SQL Server数据工具中是否有标志,可以帮助实现这一目标或任何可能使我有所不同的东西?
您可以使用/操作部署:deployreport
https://msdn.microsoft.com/library/hh550080(vs.103).aspx#anchor_5
这将为您提供一个对象列表:
- 两者都存在,但是不同的
- 仅存在于DACPAC
- 仅存在于实时数据库中
您也可以使用Visual Studio(SSDT)内的比较工具或使用Redgate SQL Comparare之类的东西来执行此操作 - 如果这是一个关闭,我可能只会使用它,因为我喜欢UI,但我有一个副本所以可以:)
这个问题通常是通过部署而解决的解决的,并且数据库中不在源控件中的任何内容都将被删除。如果您始终遵循从DACPAC部署的过程,您将无法在这种情况下获得。
听起来您可能想做一次事情来找出不同的事物,并可能在丢弃它们之前在某个地方测试这些更改。
与SSDT一起工作的每个人都有一个确切的问题,解决该问题的唯一方法是将SQLPROJ或数据库获取到已知状态并继续从DACPAC部署。
ed
您可以使用SQL Server Data Tools(SSDT)上可用的架构比较选项。
您可以从这里免费下载SSDT。
希望这会有所帮助。