2012-02-08 88 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