2012-02-08 37 views
18

我正在研究为桌面应用程序使用新的SQL Server Express LocalDB(我认为它代号为“Denali”)。SQL Server Express LocalDB可以远程连接吗?

它目前与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

+1

关于“Denali”部分的说明:** Denali **是SQL Server 2012的代码名称,而不是SQL Server Express的LocalDB版本。我认为混淆来自LocalDB是在SQL Server 2012的CTP3中引入的,当时它仍然被称为SQL Server“** Denali **”。 – 2012-02-09 20:49:25

+0

谢谢Krzysztof!现在我明白了:) – 2012-02-22 09:58:51

回答

23

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

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

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

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

+1

谢谢!一个非常全面的答案。不幸的是,自动备份选项将无法工作,因为客户希望能够像Word文档或类似文件一样共享和发送数据库。任何基于文件的数据库,你会建议这将支持远程连接? – 2012-02-15 07:47:32

3

总之,是的,它可以。以下是关于如何配置它的tutorial

此外,这里是another post与潜在的问题可能发生。

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

+5

感谢您的输入,但我的问题是指“LocalDB”SQL Express'Denali'的新版本。我会在这方面更新这个问题更加明确。谢谢! – 2012-02-08 14:38:07

0

这不是一个新鲜的线程,但我想与SQL Server Express数据库LocalDB分享我的经验。

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

我希望这个经验能帮助别人。谢谢。

+0

这个文本块非常难以理解。如果它保持这种状态,它是没有用的。简单的句子。主题动词对象。并使用段落分隔内容 – GhostCat 2017-08-11 12:24:22

+0

对不起,我真的试图格式化这个文本,但我不能在文本中添加新行。我该如何做新的段落? – Zoltan 2017-08-11 14:30:05