2010-03-15 8 views
11

Je n'arrive pas à trouver une explication rapide des différences afin de savoir lequel utiliser.Projet 'SQL Server 2008 Server' de Visual Studio par rapport à 'Projet de base de données Sql Server 2008'?

L'un est pour un serveur on est pour une base de données? Je ne suis pas sûr de ce que cela signifie ..

Essentiellement, nous font une nouvelle application web et je veux voir ce que ces types de projets peuvent me proposer en termes de suivi du code DB/schéma etc ..

+0

Pourquoi ne pas créer à la fois des projets et faire un diff sur eux? –

Répondre

14

SQL Server 2008 Project: il est utilisé pour créer un SQL-CLR module, par exemple créer un proc stocké, une fonction, un agrégat etc. en C# (ou VB.NET), qui sera exécuté dans SQL Server. Lorsque vous créez un tel projet et que vous cliquez sur "Ajouter un nouvel élément" dans l'Explorateur de solutions, vous avez le choix entre créer une procédure stockée, un déclencheur, un agrégat, une fonction définie par l'utilisateur, un utilisateur. type défini ou une classe d'assistance. Ceux-ci seront tous compilés dans un assembly .NET, qui sera déployé sur SQL Server et exécuté dans SQL Server dans l'environnement d'exécution SQL-CLR.

Base de données SQL Server Project: c'est seulement une collection de scripts SQL pour être exécuté sur une base de données, pour créer et manipuler des objets base de données

Dans un projet de base de données SQL Server, vous essentiellement obtenez seulement d'ajouter des scripts SQL - Fichiers .sql. Rien d'autre, vraiment. Donc, il est en effet tout à fait différent du type de projet SQL Server 2008!

+0

Il me semble que je serais seulement intéressé par le projet de base de données SQL Server? Depuis tout ce que je voudrais est un moyen de regarder le schéma de table/SP dans le contrôle de la source et je voudrais la possibilité de pousser les changements sur différents serveurs être utile avec ça?) J'ai regardé l'entre les deux .... On dirait que le seul diff erence est le dossier 'Server Level Objects' ... et les propriétés du projet des deux semblent identiques. alors ... Les projets serveur semblent être des projets DB avec des dossiers vides supplémentaires? – punkouter

+0

voir ma mise à jour - les deux sont en fait ** tout à fait ** différent! –

5

La réponse ici ne semble pas réellement répondre à la question affichée. "Projet SQL Server 2008 Server" "Projet de base de données SQL Server 2008" sont les deux choses qui existent dans Visual Studio 2008 Database Edition, mais malheureusement il n'y en a pas un "Projet SQL Server 2008" comme le suggère la réponse " SQL Server Project "qui correspond à la description. De plus, il n'y a plus de type de projet appelé "SQL Server Database Project" (du moins pas dans Visual Studio 2008 Team Suite), bien que la description ci-dessus semble décrire les projets de base de données beaucoup plus anciens disponibles en VS .

Après y avoir réfléchi, je vais deviner que marc_s n'a pas installé Database Edition (autrement dit Data Dude ou DBPro). Corrige moi si je me trompe.

Sql Server 2008 Database Projects et Sql Server 2008 Server Les projets semblent faire essentiellement la même chose. J'aurais espéré que les projets Serveur seraient utilisés pour l'installation et la configuration, et pour changer la gestion d'une instance de Sql Server, tandis que les projets de base de données seraient utilisés pour des bases de données individuelles à l'intérieur ... mais cela ne semble pas être le cas . Quelqu'un at-il réellement été en mesure de déterminer les différences entre eux? Après avoir joué un peu, la seule différence que j'ai pu constater est que Sql Server 2008 Server Projects sera toujours déployé dans la base de données master sur le serveur sur lequel vous déployez, quel que soit le type de base de données que vous importez (maître ou autre) lorsque vous créez le projet. Dans ce cas, les projets de base de données sont pour vos bases de données d'entreprise tandis que les projets de serveur sont spécifiquement pour la base de données master sur le serveur qui héberge vos bases de données d'entreprise.

Edit: Après avoir écumé la documentation VS2008 un peu plus difficile, je suis tombé sur cette spécification:

« Projets Déploiement serveur Un projet de base de données peut contenir des définitions pour les objets de base de données, pour les objets de serveur, ou pour les deux.Dans la plupart des environnements, les développeurs peuvent modifier les objets de la base de données, mais seul l'administrateur de la base de données peut modifier les objets du serveur. Vous pouvez appliquer cette restriction en plaçant des objets serveur dans un projet distinct (connu sous le nom de projet serveur). Vous pouvez ensuite restreindre le contrôle de version afin que seuls vos administrateurs puissent modifier le projet du serveur. Dans un environnement de transfert ou de production, le projet serveur et ses objets seront le plus souvent déployés séparément du projet contenant les objets de la base de données.

Vous déployez un projet de serveur en utilisant les mêmes procédures que vous utilisez pour déployer un projet de schéma. »

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

+0

Mais ce que je ne comprends pas, c'est que les PROJETS SERVEURS seraient vraiment utiles ... Après ma recherche j'ai pensé que les PROJETS de BASE de DONNÉES sont tout ce dont nous avons besoin ... juste un moyen de contrôler la version ... les choses supplémentaires à obtenir avec SERVER PROJETS Je ne comprends pas comment il est practicle dans une petite application ...? – punkouter

+0

Je suis d'accord - d'après ce que je peux dire, l'introduction du projet de serveur sert seulement à confondre l'utilisateur, vraiment. Cela aurait très bien pu être un simple drapeau sur le projet de base de données qui l'a contraint à cibler la base de données principale pour le déploiement. – bwerks

+1

Le projet serveur sert à créer des connexions, etc. pour votre projet de base de données. Autrement dit, les objets au niveau du serveur. Le projet de base de données est pour vos tables, etc. –

Questions connexes