10

在互联网上看到很多东西后,我没有找到两种文件类型之间的任何解释:.mdf.sdf.

.sdf.mdf我相信它将是 SQL Server ( ) 的紧凑版本。它们看起来仍然完全不同。

遵循了msdn上的两个教程,即MVC Movie AppMusicstore。两者都使用.sdf.

部分引用(完整):'首先它应该是“|DataDirectory|ASPNETDBContext.mdf”(注意扩展名的不同)。你的申请...'

两个教程都有到 的连接字符串.sdf,即:

<add name             ="MovieDBContext"
     connectionString ="Data Source=|DataDirectory|Movies.sdf" 
     providerName     ="System.Data.SqlServerCe.4.0"
/>

<add name             ="MusicStoreEntities" 
     connectionString ="Data Source=|DataDirectory|MvcMusicStore.sdf" 
     providerName     ="System.Data.SqlServerCe.4.0"
/> 

问题:

我的问题是在何时何地使用什么?更多关于为什么在哪里使用哪个。

4

3 回答 3

17

SQL Server Compact(sdf 文件)在 Windows 手机中流行,用于存储一些数据(少量数据),也可以用于网站,但性能较差,甚至 SQLite 更好。

SQL Server(mdf 文件)用于具有大量数据的大型站点。它更强大,但不能用于手机,必须安装在服务器上。

看这个:SQL Server Compact、SQL Server Express 2012 和 LocalDB 的比较

于 2012-09-16T20:58:55.933 回答
12

SQL Server Compact Edition确实与“常规”SQL Server 完全不同。

SQL Server CE 是一个独立的单用户数据库,由应用程序加载到运行代码的机器上;它在一个.sdf文件中包含所有数据,并且仅支持“常规”SQL Server(及其功能)的一小部分。SQL Server CE 非常适合简单的、独立的、单用户应用程序(如电话应用程序)。

“真正的”SQL Server 是一种服务器产品——您将它安装在服务器上,您的客户端只连接到它(通常,客户端计算机本身没有安装 SQL Server)。它是一个成熟的 RDBMS,包含所有内容 - 存储过程、触发器等,因此最适合处理结构化、大规模数据 - 想想企业应用程序,例如订单处理、发票、会计、任何多个用户的大型数据库种类。

于 2012-09-17T00:28:01.497 回答
0

首先,sql server 数据库文件不是一个完整的 sql server 数据库,如果你以这种方式创建它,它就是一个 sql server express。Sql Server Express 数据库使用起来并不是特别棒,因为大多数主机不运行 sql server express,如果您尝试让它们在 sql server 数据库上运行,发布它们会很棘手。最好先从 sql server 开始,然后表达和迁移。

本地数据库实际上是 sql server 精简版。http://en.wikipedia.org/wiki/SQL_Server_Compact

对于连接字符串,请访问http://www.connectionstrings.com/sql-server/ 那里几乎所有可用的连接字符串。要使用 SQL Server Express,您需要安装它,要管理它,您需要下载 sql server express 管理工具。通常,大多数 sql express 实例都设计为与本地帐户一起使用,但如果我没记错的话,您可以使用管理工具创建一个 sql server 登录。

于 2015-03-12T05:50:30.640 回答