0

我目前正在使用一个涉及大量存储过程的 Asp.NET Web 应用程序。

由于我也在使用 Asp.NET Membership/Roles/Profile 系统,Microsoft Sql Server Management Studio 中显示的存储过程列表确实变得难以导航。当我打开Programmability/Stored Procedures树时,我有一长串dbo.aspnet_spXXX存储过程,我的过程在最后徘徊。

我想做的是将所有这些 aspnet 存储过程洗牌到他们自己的文件夹中,让我的像现在一样漂浮。我不想放弃目前的组织,我只是想稍微完善一下。

是否有可能做到这一点?

4

3 回答 3

3

我认为您在 SSMS 中可以做的最好的事情是使用过滤器来排除 aspnet 存储过程。

  • 右键单击存储过程文件夹
  • 选择过滤器 -> 过滤器设置
  • 按名称过滤,不包含“aspnet_sp”。
于 2012-05-15T12:39:49.537 回答
2

我会推荐 redgate 的 SQL 搜索工具——方便查找特定的过程,而不是滚动浏览一个大列表。允许您双击并转到它:

http://www.red-gate.com/products/sql-development/sql-search/

于 2012-05-15T12:39:00.787 回答
2

Management Studio 不支持按字母顺序以外的方式对这些对象进行排序。

我喜欢过滤器和第 3 方插件的想法,但您可以探索的另一个想法是为您的对象使用不同的架构。如果您将模式命名为“abc”或更合乎逻辑的名称,它们将始终首先排序,您的用户都不必应用过滤器。

CREATE SCHEMA abc AUTHORIZATION dbo;
GO
ALTER SCHEMA abc TRANSFER dbo.proc1;
ALTER SCHEMA abc TRANSFER dbo.proc2;
ALTER SCHEMA abc TRANSFER dbo.proc3;
...

当然,您需要更新代码以引用此架构,并且您还应该更改所有用户的默认架构。

这实际上并不是模式的主要目的之一,但没有将您的对象放在不同的数据库中,这是一种在视觉上分离它们的方法。

于 2012-05-15T12:45:24.793 回答