Каков наилучший способ создания и управления глобальными Procs и UDF в SQL Server? - PullRequest
4 голосов
/ 21 октября 2011

Давайте представим, что у меня есть две отдельные базы данных на одном и том же экземпляре SQL Server. DB1 - это база данных, связанная с торговлей и поддержанием позиций. DB2 - это база данных, связанная с переменными рыночного ценообразования.

Обе базы данных имеют концепцию работы с объектами времени / даты, и я создал несколько удобных пользовательских функций. Давайте представим, что я создаю несколько удобных математических функций, которые я хотел бы вызывать из всех баз данных. Каков наилучший способ их создания и организации?

т.е. Должен ли я создавать UDF и SP в основной базе данных? Как мне сгруппировать все пользовательские функции CustomDateTime, лучше ли создать что-то в схеме, чтобы я заменил .dbo на .myDateTime или .myMath?

Предложения приветствуются, поскольку мне не нравится, как я в настоящее время разместил большинство своих функций в DB1, и я знаю, что многие из них будут иметь отношение к DB2?

1 Ответ

2 голосов
/ 21 октября 2011

Создание проекта базы данных с использованием Visual Studio (я считаю, что 2008 и 2010 поддерживают его).Сохраняйте объектные сценарии, организованные в рамках проекта.Проверьте проект и связанные файлы в какой-либо форме программного обеспечения для управления версиями (SVN, git, hg, SourceSafe ...).

У вас должен быть администратор БД или специальный специалист, который отвечает за развертывание изменений кода впроизводственные среды.Вы можете настроить проект базы данных с помощью сценариев до и после развертывания, которые могут упростить работу с ним.

Я не могу рекомендовать сохранять пользовательские объекты в master;ИМХО тебе лучше с копиями в каждой базе.Если вы управляете своим кодом, как указано выше, не имеет значения, что они дублируются, поскольку источник находится в одном управляемом месте.

...