SQL Server 2005 Express 是否足够适合开发
在我开发的公司,开发人员通常在笔记本电脑上运行数据库。 我们还有一个在 MSDN 许可证下作为虚拟机运行的 SQL Server 2005 和 SQL Server 2000 服务器实例。
我不是 MSDN 专家,也不熟悉 MSDN 的来龙去脉,所以我的问题如下。
如果我们有足够的订阅,每个开发人员是否都能够在他或她的笔记本电脑上安装 MSDN 版本的 SQL Server 以进行开发? 在不确定的情况下,我们是否能够转而使用 SQL Server Express 进行开发,然后在对所需的数据库进行所有更改后将数据库迁移到我们的“中央开发”数据库服务器? SQL Server Express 与 SQL Server Enterprise 在功能方面是否存在重大差异。
At the company i develop, developers typically run databases on their laptops. We also have an instance of a SQL Server 2005 and SQL Server 2000 servers running as virtual machines, under an MSDN license.
I am not a MSDN guru and not really familiar with the ins-and-outs of MSDN, so the my questions are as follows.
Would each developer be able to install an MSDN version of the SQL Server, for development purposes on his or her laptop, if we have enough subscriptions? In the midst of uncertainty would we be able to instead use SQL Server Express for our development purposes, later migrating the databases to our 'central development' database servers once we have made all the changes to the databases we require? Are there any major differences between SQL Server Express vs SQL Server Enterprise in terms of functionality.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
如果您的 MSDN 订阅允许,我建议您的开发人员安装 SQL 2005 或 SQL 2008 的开发人员版本,因为该版本包含 SQL 分析器,这将使开发人员更容易查明 SQL 瓶颈。
If your MSDN subscription permits I'll recommend that your devs install the developer edition of either SQL 2005 or SQL 2008 as that version includes the SQL profiler which will make it easier for the devs to pinpoint SQL bottlenecks.
SQL Server Express 足以用于许多小型应用程序的生产(尤其是替换 Access 等)。
真正的事情是:您的开发人员应该使用与您打算在生产中使用的相同(或相似)的内容,以避免任何最后一刻的“不支持”/“工作方式不同”意外。
如果您打算部署到 Express,那么就针对 Express 进行开发。
如果您打算部署到企业,那么可以针对开发人员版本进行开发,这实际上是同一件事。
不过,尺寸也是一个因素。 尽管我针对企业进行部署,但出于空间原因,我在笔记本电脑上使用express(在火车等上工作时)。 但我总是回到我的主桌面(具有更多磁盘/内存,以及像我的生产平台一样配置的虚拟机)来执行验证等。
SQL Server Express is sufficient for production for many small apps (especially for replacing Access etc).
The real thing is: your developers should use the same (or similar) as you intend to use in production, to avoid any last minute "not supported" / "works differently" surprises.
If you intend deploying to express, then develop against express.
If you intend deploying to enterprise, then develop against, well, developer edition, which is the same thing really.
Size is a factor, too though; even though I deploy against enterprise, I use express on my laptop (when working on the train etc) for space reasons. But I always go back to my main desktop (with more disk/memory, and a VM configured like my production platform) to perform validation etc.
我不记得 Express 版本和完整版本之间有任何功能差异。 只是数据库大小及其可以处理的数量有限制。 我可能是错的,但这就是我所记得的。
I don't remember being any functional differences between the express version and the full version. There is just data base size limitations and how much it can handle. I could be wrong, but that is what i remember.
仅从企业角度来看...一些想法...
针对服务器安装(虚拟、真实等)进行开发意味着您正在针对类似于生产或 UAT 的东西进行开发。 我认为它还鼓励最佳实践和一些纪律。
Express 版本有一些限制,这意味着您无法复制生产中的数据或条件。 我所使用的数据库没有一个能够在 Express 限制下运行。
如果我删除数据以便可以在本地运行,那么我无法知道当我的生产环境中有 2 亿行查询时,我的 1000 行查询将如何执行。 并且忘记分区、索引视图和其他好东西。
我见过许多第 3 方应用程序需要 SQL Server 位于 Web 服务器上,或共享 SQL/应用程序框,或者需要系统管理员权限才能运行。 在我看来,这似乎没有考虑到目标受众并在本地开发。
服务器安装的优势在于容量和性能。 您将如何调整 2 亿行/50 GB 数据库上的查询,处理效果或并行性等
话说:开发人员版本也可以本地安装在您的笔记本电脑上。
最后,在许多商店中,不允许本地 SQL Server 安装。 早在我 100% DBA 时代,我就常常追捕他们......
Looking at it from a corporate view only... some thoughts...
Developing against server installs (virtual, real, whatever) means that you're developing against something resembling production or UAT. I think it also encourages best practice and some discipline.
The Express edition has limits that means you can't replicate the data or conditions you have in production. Not one of the databases I work on would run in the Express limits.
If I remove data so I can run locally, then I have no indication of how my 1000 row queries will perform against when I have 200 million in production. And forget abut partitioning, indexed views and other good stuff too.
I've seen many 3rd party apps that require SQL Server to be on the web server, or a shared SQL/app box, or need sysadmin rights to run. To me this always looks no thought was given to the target audience and developed locally.
The advantage of server installs is capacity and performance. How are you going to tune query on your 200 million row/50 GB database, deal with the effects or parallelism etc
Saying that: developer edition can also be installed locally on your laptop.
Finally, in many shops, local SQL Server installs are disallowed. Back in my 100% DBA days, I used to hunt them down...
如果您想在正在开发的应用程序中使用全文索引或报告服务,则需要“具有高级服务的 SQL Server Express”。 否则它们在功能上等同于完整版本。
数据库大小、使用的 CPU 核心和内存使用都有限制,但这通常不会成为问题。 当前版本的限制为每个数据库 4GB 磁盘、1 个 CPU 核心、1GB RAM。
话虽如此,SQL Server Profiler 是 Express 版本中不提供的非常有价值的工具。 这是我安装 SQL Server 开发人员版本的主要原因。
You will need "SQL Server Express with Advanced Services" if you want to use full text indexing or reporting services in the application you're developing. Otherwise they're functionally equivalent to full versions.
There are limits on database size, CPU cores used and memory usage, but that shouldn't generally be a problem. The limits for the current version are 4GB disk per database, 1 CPU core, 1GB RAM.
That being said, SQL Server Profiler is a very valuable tool not available in the Express editions. It would be my primary reason for installing the developer edition of SQL Server.
如果您主要关心的是成本,请购买开发人员版对于每个开发者来说。 只需 49 美元(四十九)即可获得完整的功能企业版功能,具有工具和SQL代理、全文搜索、SSIS和BI等所有工作。 仅受许可限制用于开发用途。 实际上,它可能比购买 MSDN 订阅或 Technet 订阅更便宜。
如果您开发的产品需要部署标准版或企业版功能,则针对 Express Edition 进行开发是不可行的。 您的开发人员将无法使用某些功能(SQL 代理作业、SSIS、BI(OLAP、DM)、报表生成器、完整复制、镜像等),将无法针对大量数据进行测试,将无法拥有可供使用的管理工具 (SSMS)。
If your main concern is cost, the buy a Developer Edition for each developer. At $49 (fourty-nine) you get a full fledged enterprise Edition functionality, with tools and SQL Agent and Fulltext Search and SSIS and BI and all the works. Is only restricted for development use by license. And it actually may be cheaper than buying an MSDN subscription or Technet subscription.
Developing against Express Edition can is not feasible if you develop a product that requires in the deployment Standard or Enterprise edition functionality. Your developers will not be able to use some features (SQL Agent jobs, SSIS, BI (OLAP, DM), Report Builder, full Replication, Mirroring and so on), will not be able to test against large loads of data, will not have the management tools (SSMS) at their disposal.