Есть ли встроенный способ сохранить номер версии против хранимой процедуры? - PullRequest
3 голосов
/ 10 марта 2011

Мое приложение должно поддерживать хранимую процедуру в базе данных SQL Server.Когда приложение запускается, оно создает sproc, если оно не существует, и ему нужно обновить (удалить и воссоздать) его, если доступна более новая версия.

Итак, мне нужен какой-то способ хранениячисло против этой хранимой процедуры.

Очевидно, я могу сохранить строку в таблице, которую создаю с помощью procedurename, version, и это то, что я сделаю, если нет лучшего способа.

ОднакоМне было интересно, если SQL Server имеет надлежащий механизм для хранения метаданных, как это.Могу ли я установить пользовательские свойства объекта или что-то еще?

Ответы [ 3 ]

4 голосов
/ 10 марта 2011

Использовать расширенные свойства.

Вот сообщение в блоге о том, как их обновить:
http://www.apexsql.com/help/apexsqldoc/html/Step-by-Step_Guide/Extended_Properties/Managing_Extended_Properties.htm

0 голосов
/ 10 марта 2011

Хотя можно использовать расширенные свойства для удовлетворения ваших требований, я советую вам использовать собственный рекомендуемый метод хранения procedure_name и version в таблице.Опыт показывает, что в долгосрочной перспективе вы не должны полагаться на вещи, которые могут / будут / должны / могут сломаться в будущей версии.В долгосрочной перспективе лучше иметь собственную инфраструктуру, чем полагаться на некоторые функции, которые могут быть несовместимы с различными СУБД.Может быть, вам когда-нибудь понадобится переместить ваше приложение в другую СУБД, может быть, и стоимость будет намного ниже, если вы подумаете об этом сейчас.

0 голосов
/ 10 марта 2011

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

...