Хранилища/группировка хранимых процедур SQL Server

В настоящее время мы используем SQL Server 2000, но скоро перейдем к 2008. Я ищу способ группировать связанные хранимые процедуры в папки. SQL Server 2000, похоже, не обладает этой способностью, и из моих поисков он выглядит так же, как и в 2008 году. Это похоже на базовую функцию, которую большинство пользователей захочет. Разве было бы нецелесообразно размещать все общие хранимые процедуры, которые распределяются между несколькими проектами в одной папке, а конкретные процессы проекта - в другом?

Кажется, что большинство разработчиков делают это сейчас, используя некоторые из синтаксиса ID_SPNAME и сортируя их.

Ответ 1

Группировка процессов и функций по типу в пользовательском интерфейсе будет приятной, но Management Studio не сможет этого сделать. Используя SQL Server 2000, я сделал то, что вы предлагаете (префикс объектов с кодом группировки и сортировкой). В 2005 и 2008 годах рассмотрим возможность создания схем для одной цели и группирования ваших объектов в них. Обратите внимание, что имена объектов имеют префикс имени схемы в пользовательском интерфейсе.

CREATE SCHEMA ShoppingCart AUTHORIZATION Joe
    CREATE PROCEDURE AddItem ...

... будет отображаться в пользовательском интерфейсе как ShoppingCart.AddItem.

Схемы в Sql Server 2008

Ответ 2

Самый распространенный способ сделать это (в SQL 2005/2008) - это использовать схемы:

HR.spCalculateEmployeeCompensation
HR.spCalculateContractorBonus
Web.spAppendWebLog
Web.spUserEndSession
Reporting.spGetCurrentYearSummary
Reporting.spGetLastMonthDetail

Они не только визуально организуются в списке SSMS, но вы можете применять разные разрешения для каждой схемы.