2013-05-13 62 views
2

我需要爲應用程序創建一個新的數據庫。我計劃把數據文件放在NAS服務器上(Synology 812)。我試着用不同的路徑創建數據庫2天,但沒有任何工作。在底部可以看到一個示例路徑N'\\10.1.1.5\fileserver\...在Synology上創建帶有數據和日誌文件的SQL Server數據庫NAS服務器

我也試過'N\\10.1.1.5\**volume1\fileserver**\payroll.ldf',因爲從Synology管理界面屬性對話框顯示了fileserver共享目錄的路徑。

fileserver是一個共享文件夾。我可以從文件資源管理器訪問該文件夾。

\\10.1.1.5\fileserver\ 

而且我可以使用Windows資源管理器在其中創建新的文件或文件夾。但不幸的是,創建聲明不起作用。

CREATE DATABASE Payroll 
    ON 
    (NAME = Payroll_dat, 
     FILENAME = N'\\10.1.1.5\fileserver\payrolldat.mdf', 
     SIZE = 20MB, 
     MAXSIZE = 70MB, 
     FILEGROWTH = 5MB) 
    LOG ON 
    (NAME = 'Payroll_log', 
     FILENAME = N'\\10.1.1.5\fileserver\payroll.ldf', 
     SIZE = 10MB, 
     MAXSIZE = 40MB, 
     FILEGROWTH = 5MB) 
    GO 

如果有人有我的問題的解決方案,我會很高興。

謝謝你的時間。

Ferda

回答

3

默認情況下,SQL Server不支持UNC路徑。請參閱知識庫文章http://support.microsoft.com/kb/304261 - 在SQL Server中支持網絡數據庫文件的說明

提取物:

Microsoft通常建議使用存儲區域網絡 (SAN)或本地連接的磁盤您的Microsoft SQL Server數據庫文件的存儲,因爲這種配置可優化SQL Server的 性能和可靠性。默認情況下,使用網絡數據庫文件 (存儲在聯網服務器或網絡連接存儲[NAS]上)爲 未啓用SQL Server。

可以啓用,但是你必須保證你的硬件滿足一些嚴格的條件:

但是,您可以配置SQL Server的數據庫存儲在 網絡的服務器或NAS存儲服務器上。用於此目的的服務器必須滿足SQL Server數據寫入排序要求和 直寫保證,詳情請參閱「更多信息」 部分。

[...]

任何故障由任何軟件或硬件組件履行該協議可以導致在系統故障的情況下部分或全部數據丟失或損壞 。

[...]

微軟不支持在NAS或聯網 存儲服務器的SQL Server數據庫聯網文件不符合這些直寫和寫順序要求。

性能也可嚴重受損:

在其最簡單的形式中,NAS溶液使用標準網絡 重定向器軟件棧,標準的網絡接口卡(NIC),並且 標準以太網組件。該配置的缺點是 所有的文件I/O都通過網絡堆棧進行處理,並且受限於網絡本身的帶寬限制。這可能會造成性能和數據可靠性問題,尤其是在需要極高級別文件I/O的 程序中,例如SQL 服務器。在Microsoft測試的一些NAS配置中,I/O 的吞吐量大約是同一臺服務器上直接連接的 存儲解決方案的三分之一(1/3)。在同樣的配置下,通過NAS設備完成I/O的CPU成本大約是本地I/O的兩倍,即 。

總而言之,如果您不能保證您的硬件支持這些要求,那麼您就是在玩火。它可能適用於一個小型測試環境,但我不會像這樣託管一個Live數據庫,以免數據被破壞或性能嚴重受損。

要啓用,請使用跟蹤標誌1807,如KB所述。

+0

嗨克里斯我有另一個與此主題相關的問題,你可以檢查當你有時間 ? http://stackoverflow.com/questions/16522453/create-file-stream-enabled-database-in-network-file-nas-server – 2013-05-14 11:24:28

2

您需要SQL Server 2008R2或更高版本。從2008R2開始,支持UNC名稱,儘管沒有鼓勵(因爲Chris提到的所有原因)。有能力的環境在解決大部分UNC存儲問題方面有很長的路要走。在2008R2之前,跟蹤標誌1807可以工作,但不是受支持的部署(如果您需要任何問題的幫助,CSS可以拒絕幫助您)。見SQL Server Can Run Databases from Network Shares & NAS

+0

你好Remus,我已經看到了這個頁面。無論如何,閱讀該頁面讓我有勇氣在nas服務器上規劃新的數據庫:)我首先嚐試了下面的SQL語句。我沒有添加所有的試驗來簡單地說。 – 2013-05-13 08:07:08

+0

我創建了DB,我之前沒有注意到1807旗。 – 2013-05-13 10:14:24

+0

嗨Remus我有關於這個問題的另一個問題,你可以檢查你有空嗎? http://stackoverflow.com/questions/16522453/create-file-stream-enabled-database-in-network-file-nas-server – 2013-05-14 11:20:46

0

我認爲你可以做的最好的事情是在你的nas設備上配置一個ISCSI卷,如果你有3個或更多的可用磁盤,創建一個RAID 5,之後你應該連接你的NAS和你的服務器在一個獨立的VLAN中,一個不同的網絡設備,甚至不同的物理網絡,以避免由於操作流量而對您的局域網造成影響,這樣您將使用您的NAS作爲SAN

+0

它看起來像評論,不像完整的答案 – Rocketq 2017-03-24 06:57:01

相關問題