Каков наилучший способ создания и управления глобальными процессами и UDF в SQL Server?

#sql #sql-server #sql-server-2005 #user-defined-functions

#sql #sql-server #sql-server-2005 #определяемые пользователем функции

Вопрос:

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

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

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

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

Ответ №1:

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

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

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

Комментарии:

1. Я использую SQL server ‘express’ всего пару месяцев и использую 2005 год в рабочей среде (поскольку он по умолчанию содержится в Windows SBS2008) и запускаю SQL Server 2008 r2 Express на ноутбуке для разработки. Знаете ли вы, будет ли ваш метод работать в Visual Express edition (извините, поскольку я не использую Visual Studio, хотя я подумываю о загрузке IronPython с проектом кодовой базы VisualStudio). Кроме того, я буду администратором базы данных. Спасибо

2. К сожалению, я думаю, вам понадобятся, по крайней мере, «профессиональные» версии VS 2008 или 2010. Возможно, я ошибаюсь, и вы можете захотеть проверить загрузчик MS web platform, поскольку они немного меняют свои предложения. Несмотря на это, вы все равно можете организовать свои объектные скрипты в файловой системе и сохранить их в системе управления версиями. GForge — неплохой бесплатный инструмент SVN.