Лучшие практики для расширения сторонних баз данных? - PullRequest
2 голосов
/ 16 марта 2010

У меня есть ситуация, когда наши разработчики расширили стороннюю базу данных (MS SQL), добавив таблицы, представления, хранимые процедуры и функции. Недавно, когда продавец выпустил обновления для базы данных, они отбросили все наши пользовательские объекты. Теперь возникает вопрос: каковы некоторые передовые практики, которые позволят нам расширить стороннюю базу данных, но защитить наши объекты от будущих обновлений? Моя первая мысль - создать отдельную базу данных, но затем я застрял с полным уточнением всех ссылок на исходную базу данных, что может вызвать проблемы, способствующие изменениям базы данных от тестирования к производству.

Ответы [ 4 ]

7 голосов
/ 16 марта 2010

Единственный безопасный способ - использовать другую базу данных.

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

Если вы используете SQL Server 2005 или более позднюю версию, вы можете попробовать использовать другую схему, но разработчик все равно может отбросить все ваши элементы.

4 голосов
/ 16 марта 2010

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

3 голосов
/ 16 марта 2010

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

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

0 голосов
/ 16 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...