2010-03-15 29 views
11

No puedo ver para encontrar una explicación rápida de las diferencias, así que puedo averiguar cuál usar.Visual Studio 'SQL Server 2008 Server Project' contra 'Sql Server 2008 Database project'?

¿Una es para un servidor, una para una base de datos? No estoy seguro de lo que eso significa ..

Básicamente estamos haciendo una nueva aplicación web y quiero ver lo que estos tipos de proyectos que me pueden ofrecer en términos de seguimiento del código de DB/esquema etc ..

+0

¿Por qué no se crea ambos proyectos y hacer un diff en ellos? –

Respuesta

14

SQL Proyecto 2008 del servidor: esto se utiliza para crear un SQL-CLR module, por ejemplo crear un proceso almacenado, una función, un agregado, etc. en C# (o VB.NET), que se ejecutará dentro de SQL Server.

Cuando crea un proyecto de este tipo, y hace clic en "Agregar nuevo elemento" en el Explorador de soluciones, tiene la opción de crear un procedimiento almacenado, un desencadenador, un agregado, una función definida por el usuario, un usuario tipo definido o una clase auxiliar. Todo esto se compilará en un ensamblado .NET, que se implementará en SQL Server y se ejecutará dentro de SQL Server en el entorno de tiempo de ejecución SQL-CLR.

base de datos de SQL Server Proyecto: eso es sólo una colección de secuencias de comandos SQL que se ejecuta en una base de datos, para crear y manipular objetos de base de datos

en un proyecto de base de datos SQL Server, que, básicamente, sólo llegar a agregar secuencias de comandos SQL - archivos .sql. Nada más, realmente. ¡De hecho, es bastante diferente del tipo de proyecto de SQL Server 2008!

+0

Por lo tanto, me parece que solo me interesaría el proyecto de base de datos SQL Server? Dado que lo único que me gustaría es una forma de mirar Table schema/SP en el control de fuente. Y me gustaría poder enviar cambios a través de varios servidores (¿los proyectos DB? ser útil con eso?) miré entre los dos ... Parece que solo difieren erence es la carpeta 'Objetos del nivel del servidor' ... y las propiedades del proyecto parecen idénticas ... tan ... ¿Los proyectos del servidor parecen ser proyectos de DB con algunas carpetas adicionales vacías? – punkouter

+0

ver mi actualización - ¡las dos son en realidad ** bastante ** diferentes! –

5

La respuesta aquí no parece responder realmente a la pregunta publicada. "SQL Server 2008 Server Project" "Proyecto de base de datos de SQL Server 2008" son cosas que existen en Visual Studio 2008 Database Edition, pero, lamentablemente, si bien no hay uno llamado "SQL Server 2008 Project" como sugiere la respuesta, hay uno " Proyecto de SQL Server "que coincide con la descripción. Además, ya no hay un tipo de proyecto llamado "SQL Server Database Project" (al menos no en Visual Studio 2008 Team Suite), aunque la descripción anterior parece describir los proyectos de bases de datos mucho más antiguos que estaban disponibles en un punto en VS .

Después de pensarlo un poco más, voy a adivinar que marc_s no tiene instalada la Edición de base de datos (también conocida como Data Dude o DBPro). Corrígeme si estoy equivocado.

Sql Server 2008 Proyectos de bases de datos y Sql Server 2008 Los proyectos de servidor parecen hacer básicamente lo mismo. Hubiera esperado que los proyectos del Servidor se usarían para la instalación y configuración, y cambiaría la administración de una instancia del Servidor Sql, mientras que los Proyectos de la Base de Datos se usarían para bases de datos individuales dentro de ellos ... pero este no parece ser el caso . ¿Alguien ha sido capaz de determinar las diferencias entre ellos?

Después de jugar un poco, la única diferencia que he podido encontrar es que Sql Server 2008 Server Projects siempre se implementará en la base de datos maestra en el servidor que implemente, independientemente del tipo de base de datos que importe (maestro o no) cuando crea el proyecto. Entonces, en ese caso, los proyectos de la base de datos son para las bases de datos de su empresa, mientras que los proyectos del servidor son específicamente para la base de datos maestra en el servidor que alberga las bases de datos de su empresa.

Editar: Después de fregar la documentación VS2008 un poco más difícil, me encontré con esta especificación:

Implementación de Proyectos de servidor Un proyecto de base de datos" puede contener definiciones de los objetos de la base, para objetos de servidor, o para ambos.En la mayoría de los entornos, los desarrolladores pueden cambiar los objetos de la base de datos, pero solo el administrador de la base de datos puede cambiar los objetos del servidor. Puede aplicar esta restricción colocando objetos de servidor en un proyecto separado (conocido como proyecto de servidor). A continuación, puede restringir el control de versiones para que solo sus administradores puedan cambiar el proyecto del servidor. En un entorno de producción o producción, el proyecto del servidor y sus objetos se implementarán a menudo por separado del proyecto que contiene los objetos de la base de datos.

Implementar un proyecto de servidor utilizando los mismos procedimientos que se utilizan para implementar un proyecto de esquema."

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

+0

Pero lo que no entiendo es una razón REAL MUNDIAL de que los PROYECTOS DE SERVIDOR realmente serían útiles ... Después de mi investigación, pensé que DATABASE PROJECTS es todo lo que necesitamos, parece ... solo una forma de controlar nuestras SQL cosas ... las cosas adicionales para obtener PROYECTOS DE SERVIDOR No entiendo cómo es práctico en una aplicación pequeña ...? – punkouter

+0

Acepto, por lo que puedo decir, la introducción del Proyecto de servidor solo sirve para confundir realmente al usuario. Podría haber sido un simple indicador en el Proyecto de Base de Datos que lo limitó a apuntar al maestro DB para su despliegue. – bwerks

+1

El proyecto del servidor es para crear inicios de sesión, etc. para que su proyecto de base de datos lo use. Es decir, objetos a nivel de servidor. El proyecto de la base de datos es para sus tablas, etc. –

Cuestiones relacionadas