32

我正在考虑将新的 SQL Server Express LocalDB(我认为它的代号为“Denali”)用于桌面应用程序。

它目前使用 SQL Compact 运行,但用户希望在网络上的多台 PC 之间共享数据库。不幸的是,这不是 SQL Compact 可以做到的,所以我正在研究其他解决方案。

客户端需要能够轻松地将数据库文件发送到其他站点或将它们备份到闪存盘,因此我避免使用 SQL Express,因为备份和恢复需要相当多的“管理员”知识。

所以,我的问题是,新的 SQL Express LocalDB 是否支持通过网络和/或通过包含 mdf 文件的共享网络文件夹远程连接到数据库?

LocalDB 确实支持在其连接字符串 (AttachDbFileName) 中为附加的本地数据库提供路径,因此支持共享网络文件夹选项。

注意:这个问题与 SQL Express 'Denali' 的新版本“LocalDB”有关,而不是 SQL Server Express 2008 或更早版本。请参阅此处宣布 LocalDB 发布的文章:http: //blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

4

3 回答 3

30

不,SQL Server Express LocalDB不接受远程连接。

共享网络文件夹的想法可能有效,但前提是您能够确保在尝试复制文件之前关闭 LocalDB 实例。还要记住,只有一个 LocalDB 实例可以同时打开任何给定的数据库文件。并且不要忘记日志文件!

附加安全警告:与 SQL Server Compact 数据库不同,SQL Server Express 数据库(包括 LocalDB 数据库)并非设计为安全的数据交换格式。例如,它们可以在嵌入的 .NET 程序集中包含恶意代码。所以你永远不应该从不受信任的来源打开数据库。

也许为客户提供一个自动化备份过程的简单工具会是一个更好的主意?

于 2012-02-09T19:12:34.443 回答
3

这不是一个新鲜话题,但我想分享我使用 SQL Server Express 数据库 LocalDB 的经验。

我有一个使用带有 LocalDb 引擎的 SQL 数据库的 WPF C# 项目。它工作正常没问题,我可以将数据库与 WPF 应用程序一起使用。我希望这个应用程序可以在更多 PC 的网络上运行。在网络上,另一台 PC 可以使用连接字符串中的 UNC 路径从我的 PC 中使用数据库。
在我看来,远程连接正在工作。但是,当远程 PC 连接时,我无法将数据库与本地 WPF 应用程序一起使用。如果我先运行我的应用程序,远程 PC 将无法连接。所以这告诉我远程连接正在工作,但不允许多个连接。
好的,我没有放弃,我从我的 PC 上运行了两次应用程序,我看到它正在工作,这告诉我同一个 SQL LocalDB 引擎只能在本地处理多个连接。

我希望这段经历对某人有所帮助。谢谢。

于 2017-08-11T12:18:53.507 回答
2

简而言之,是的,它可以。这是有关如何配置它的教程。

此外,这是一篇可能出现潜在问题的帖子。

两者都解释了如何配置 SQL Server Express 以接受远程连接。

于 2012-02-08T12:59:43.857 回答