如果我的软件使用它,我是否必须在每个客户端上安装sql server?

如果我们用c#(或基本上.Net)开发一些软件,我们不会将visual studio安装到任何客户端。 客户端必须安装所需的.Net框架(1.0,1.1,2.0,3.0等),我们很高兴。

同样,如果我们在VC2008中制作应用程序,他只需要具有Visual C ++ 2008运行时(可从MS站点免费获得,大约4-5Mb)。 所以,基本上,我们只需要运行时环境 。 但是没有任何SQL Server 2008运行时(或者我不知道它?)。

所以,我的问题是,如果我的软件使用SQL Server 2008,那么在客户端需要什么运行时(或其他任何东西)才能使用它?

另外,还有一件事,我看到有一个SQL Server Express版本,我可以在部署中使用它,但是看起来有点沉重,知道如果我的软件只有5,10或20Mb我需要安装一个演出只是这样用户可以运行它。

最后,如果我使用的是SQL Server 2008 Developer Edition(我或者是企业版)并且我在客户端上安装了SQL Server Express,如果我的软件使用了某些不支持的function,则不会导致一些问题版? (比如数据库的数量,或并发连接,或任何东西)。

所以? 它需要什么运行时间? 如果安装sql server express是唯一的选择,如果我使用的是Express版本不支持的某些function,该怎么办? 当然,我不能继续在每个客户端上完整安装开发人员版本!

编辑:如果这有任何帮助,我当前的项目是一个图书馆管理系统,它将安装在客户端(图书管理员的计算机,我正在为此制作),所以这里没有服务器客户端的情况。 那我应该在他的电脑上安装sql express吗? 此外,正如YvesR在他的回答中指出的那样,该链接仅显示三个版本(主要版本),但http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspx显示更详细的比较。 那么,在我刚才描述的这个特定场景中,如果我只是在客户端的机器上部署并表达版本,那就足够了吗?

现在,关于我所说的关于快递版中没有的一些function, http://msdn.microsoft.com/en-us/library/cc645993(v = SQL.110).aspx#CrossBoxScale表明快递版是有限的对于大小为10Gb的数据库,现在我知道在上面描述的场景中已经足够了,但是如果在其他情况下我还需要更多呢? 比快递版本不会这样做,我应该如何部署?

最后, http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx显示了另外两个版本,Compact和Developer,我知道开发人员但是这个简洁版是什么? 更重要的是,为什么这些没有被哄骗或列在这里 ?

编辑2:其4Gb,限制,而不是10Gb。 10Gb在SQL Server 2008 R2 Express及更高版本中,在SQL Server 2008 Express中为4Gb。
marc_s:谢谢你!

如果您使用SQL Server数据库将数据保存在您需要的应​​用程序中

一个。 客户端 – 服务器基础结构,其中客户端通过LAN连接到中央SQL Server

湾 或者使用客户端安装sql server edition(这是你想要的)。 为此,您可以使用SQL Server Express版本或仅使用MSDE(桌面版)。

有关详细信息,请参阅此博客文章http://searchsqlserver.techtarget.com/tip/SQL-Server-2005-Express-vs-Desktop-Engine-MSDE或google for it,来自MS本身的大量有关MSDE的信息。

编辑:自2012年以来,没有更多的MSDE,但SQL Server 2012 Express带来了像MSDE这样的模式。 请看: http : //www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

正如您在此处所见: http : //www.microsoft.com/sqlserver/en/us/editions.aspx ,您应该使用的function不适用于桌面应用程序imho。

好吧,让我们稍微回顾一下。 您是否要求每个软件客户端拥有自己的本地数据库? 如果是这种情况,有更简单的方法在客户端上存储数据(我建议将序列化作为一种​​方法存档)。

如果您的要求是让每个客户端连接到中央数据库,那么除了.net核心库之外,您不需要任何运行时组件。

除了安装的.NET框架之外,数据库访问不需要客户端运行时(无论如何,您需要所有.NET可执行文件)。

如果您希望数据库驻留在与客户端相同的计算机上,则可以使用自由选项,例如SQL Server Express或SQLite。

以下是Windows应用程序的两种方法:

  1. 桌面应用程序,将由每个客户端单独使用,而不将计算机指定为服务器。 您只需要为客户端安装SSMS和应用程序。 更新/删除/插入操作将单独完成。

  2. 客户端 – 服务器方法,安装SSMS并将数据库附加到计算机上。 此计算机将作为服务器为您的客户提供服务。 然后在任何客户端计算机上安装exe文件,确保客户端使用IP连接到服务器。