我正在考虑使用新的SQL Server Express LocalDB(我认为它是名为“Denali”的代码)用于桌面应用程序。
它目前正在运行SQL Compact,但用户希望在网络上的多台PC之间共享数据库。不幸的是,这不是SQL Compact可以做的事情,因此我正在调查其他解决方案。
客户端需要能够轻松地将数据库文件发送到其他站点或将它们备份到闪存盘,因此我避免使用SQL Express,因为备份和恢复需要相当多的“管理员”知识
所以,我的问题是,新的SQL Express LocalDB是否支持通过网络和/或通过其中包含mdf文件的共享网络文件夹与数据库进行远程连接?
LocalDB支持在其连接字符串(AttachDbFileName)中为附加的本地数据库提供路径,因此支持共享网络文件夹选项。
注意:此问题与“LocalDB”SQL Express“Denali”的新版本有关,而与SQL Server Express 2008或更早版本有关。 请参阅此处宣布LocalDB发布的文章:http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx
答案 0 :(得分:26)
不,SQL Server Express LocalDB 不接受远程连接。
共享网络文件夹的想法可能有效,但前提是您在尝试复制文件之前能够确保LocalDB实例已关闭。还要记住,只有一个LocalDB实例可以同时打开任何给定的数据库文件。并且不要忘记日志文件!
其他安全警告:与SQL Server Compact数据库不同,SQL Server Express数据库(包括LocalDB数据库)不是设计为安全数据交换格式。例如,它们可能包含嵌入其中的.NET程序集中的恶意代码。因此,您永远不应该从不受信任的来源打开数据库。
也许为客户提供一个自动化备份流程的简单工具会更好吗?
答案 1 :(得分:3)
答案 2 :(得分:1)
这不是一个新线程,但我想与SQL Server Express数据库LocalDB分享我的经验。
我有一个使用带有LocalDb Engine的SQL数据库的WPF C#项目。它工作正常没问题,我可以访问数据库。我希望这个程序能够在更多PC上运行。在我在网络上的场景中,另一台PC可以使用我PC上的数据库(在连接字符串中使用UNC路径) 在我看来,远程连接正在工作。但是当连接远程PC时,我无法连接到我的数据库。如果我先连接远程PC无法连接。所以这告诉我远程连接正在工作,但是不允许多重连接 好吧,我没有放弃,我从我的电脑上运行程序两次,我看到它正在工作,告诉我相同的SQL LocalDB引擎可以多次连接。
我希望这种经历会对某人有所帮助。感谢。