Проект Visual Studio "Сервер SQL Server 2008" и проект базы данных Sql Server 2008?

Я не вижу, чтобы найти краткое объяснение различий, чтобы я мог понять, что использовать.

Один для одного сервера для базы данных? Я не уверен, что это значит.

В основном мы делаем новое веб-приложение, и я хочу посмотреть, что могут предложить эти типы проектов с точки зрения отслеживания кода/схемы DB и т.д.

Ответ 1

Проект SQL Server 2008: он используется для создания модуля SQL-CLR, например. создать хранимую процедуру, функцию, агрегат и т.д. в С# (или VB.NET), который будет запущен внутри SQL Server.

Когда вы создаете такой проект и нажимаете "Добавить новый элемент" в обозревателе решений, вам предоставляется выбор создания хранимой процедуры, триггера, агрегата, пользовательской функции, определяемой пользователем тип или вспомогательный класс. Все они будут скомпилированы в сборку .NET, которая будет развернута на SQL Server и будет выполнена внутри SQL Server в среде выполнения SQL-CLR.

Проект базы данных SQL Server: для создания и управления объектами базы данных необходимо создать только набор сценариев SQL для базы данных

В проекте базы данных SQL Server вы в основном получаете только SQL-скрипты -.sql файлы. На самом деле ничего. Таким образом, он действительно отличается от типа проекта SQL Server 2008!

Ответ 2

Ответ здесь, похоже, не отвечает на поставленный вопрос. "Проект сервера SQL Server 2008" "Проект базы данных SQL Server 2008" - это то, что существует в Visual Studio 2008 Database Edition, но, к сожалению, пока нет ответа на один из названных "Проект SQL Server 2008", SQL Server Project ", который соответствует описанию. Более того, тип проекта больше не называется" Project Database Database Project" (по крайней мере, не в Visual Studio 2008 Team Suite), хотя приведенное выше описание, похоже, описывает гораздо более старые проекты баз данных, которые были в одной точке, доступной в VS.

Подумав об этом дальше, я собираюсь предположить, что у marc_s нет версии Database Edition (иначе известной как Data Dude или DBPro). Исправьте меня, если я ошибаюсь.

Проекты Sql Server 2008 Database Project и серверные проекты Sql Server 2008, похоже, делают в основном то же самое. Я бы надеялся, что проекты сервера будут использоваться для установки и настройки и управления изменениями экземпляра Sql Server, в то время как проекты баз данных будут использоваться для отдельных баз данных внутри них... но это, похоже, не так, Кто-нибудь действительно смог определить различия между ними?

Немного поразмыслив, единственная разница, которую я смог найти, заключается в том, что Sql Server 2008 Server Projects всегда будет развертываться в основной базе данных на сервере, на котором выполняется развертывание, независимо от того, какую базу данных вы импортируете ( мастер или иначе) при создании проекта. Таким образом, в этом случае проекты базы данных предназначены для ваших бизнес-баз данных, а серверные проекты - специально для основной базы данных на сервере, в котором размещаются ваши бизнес-базы данных.

Редактирование: после тщательной обработки документации VS2008 я столкнулся с этой спецификацией:

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

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

http://msdn.microsoft.com/en-us/library/dd193413.aspx