我继承了与C#客户端应用程序一起使用的SQL Server数据库。我知道足以危险,但我不是程序员。我知道以前的程序员喜欢在实时数据库中玩耍,因此,我有很多我认为是孤立表的东西。

该应用程序本身不是超高使用率,并且可以承受表在短时间内不存在的异常。我想开始关闭或禁用这些表,以通过反复试验来查看它们是否已被使用。

有没有办法在不完全删除数据的情况下将其关闭,以便在需要时可以快速重新启用它们?还是有一种更透明的方式来发现是否需要这些表?

最佳答案

没有简单的方法。可以通过存储过程和来自客户端应用程序的直接SQL调用来访问表。一种全面的方法意味着您将不得不采用某种方法使每个表都不可用(注释中已建议重新命名),然后对客户端应用程序执行完整的回归测试;您可能必须对数据库中的每个表执行此操作。客户端应用程序可能会受外部条件(例如,登录用户(和相关特权),日期,配置等)的约束,有条件地访问表。

SQL Server Profiler是一个很好的工具,但是它并不能完全解决您的问题,因为您仍然必须分析它捕获的内容。

关于c# - 如何从SSMS禁用SQL Server数据库中的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44416225/

10-13 08:14
查看更多