其中一个是用于服务器,另一个是用于数据库?我不确定这意味着什么。
基本上,我们正在做一个新的 Web 应用程序,我想看看这些项目类型在跟踪数据库代码/模式等方面能为我提供什么帮助。
SQL Server 2008项目: 该项目用于创建SQL-CLR模块,例如在C#(或VB.NET)中创建存储过程、函数、聚合等,这些代码将在SQL Server内部运行。
在创建此类项目时,单击“解决方案资源管理器”中的“添加新项”,您可以选择创建存储过程、触发器、聚合、用户定义的函数、用户定义的类型或帮助类。所有这些内容都将编译为.NET程序集,并在SQL Server上部署并在SQL-CLR运行时环境内执行。
SQL Server数据库项目: 这只是一组用于对数据库进行创建和操作的SQL脚本。
在SQL Server数据库项目中,您基本上只能添加SQL脚本--.sql文件。实际上除此之外就没有其他选项了。因此,与SQL Server 2008项目类型相比确实非常不同!
经过进一步思考,我猜测marc_s没有安装Database Edition(也称为Data Dude或DBPro)。如果我错了,请纠正我。
Sql Server 2008 Database Projects和Sql Server 2008 Server Projects似乎基本上做同样的事情。我希望Server Projects用于安装、配置和更改管理Sql Server实例,而Database Projects用于其中的单个数据库...但事实并非如此。是否有人能够确定它们之间的区别?
玩了一会儿之后,我唯一能发现的区别是,无论您在创建项目时导入了什么类型的数据库(master还是其他),Sql Server 2008 Server Projects始终会部署到您部署到的服务器上的master数据库中。因此,在这种情况下,Database Projects用于您的业务数据库,而Server Projects专门用于托管业务数据库的服务器上的master数据库。
编辑:在更加努力地搜寻VS2008文档之后,我找到了这个规范:
"部署服务器项目 数据库项目可以包含数据库对象、服务器对象或两者的定义。在大多数环境中,开发人员可以更改数据库对象,但只有数据库管理员可以更改服务器对象。您可以通过将服务器对象放入单独的项目(称为服务器项目)中来强制执行此限制。然后,您可以限制版本控制,以便仅您的管理员可以更改服务器项目。在分期或生产环境中,服务器项目及其对象通常会与包含数据库对象的项目分开部署。
您可以使用与部署架构项目相同的过程来部署服务器项目。"