在synology NAS Server上使用数据和日志文件创建SQL Server数据库

时间:2013-05-13 07:07:37

标签: sql-server synology

我需要为应用程序创建一个新数据库。我计划将数据文件放在NAS服务器上(Synology 812)。我尝试使用不同的路径创建数据库2天,但没有任何效果。在底部,您可以看到示例路径N'\\10.1.1.5\fileserver\...

我也试过'N\\10.1.1.5\**volume1\fileserver**\payroll.ldf'因为从synology管理界面属性对话框显示了fileserver共享目录的这条路径。

fileserver是一个共享文件夹。我可以从文件资源管理器中访问该文件夹。

\\10.1.1.5\fileserver\

我可以使用Windows资源管理器在其中创建新文件或文件夹。但不幸的是,create语句不起作用。

    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 个答案:

答案 0 :(得分:3)

默认情况下,SQL Server不支持UNC路径。请参阅http://support.microsoft.com/kb/304261处的KB - SQL Server中对网络数据库文件的支持说明

提取物:

  

Microsoft通常建议您使用存储区域网络   (SAN)或本地连接的磁盘,用于存储Microsoft SQL   服务器数据库文件,因为此配置优化了SQL Server   性能和可靠性。默认情况下,使用网络数据库文件   (存储在联网服务器或网络附加存储器[NAS]上)是   未启用SQL Server。

可以启用它,但您必须确保硬件符合某些严格条件:

  

但是,您可以配置SQL Server以在a上存储数据库   联网服务器或NAS存储服务器。用于此目的的服务器   必须满足SQL Server对数据写入顺序的要求   直写保证,详见“更多信息”   部分。

     

[...]

     

任何软件或硬件组件都无法遵守此协议   在系统发生故障时部分或全部数据丢失或损坏。

     

[...]

     

Microsoft不支持NAS上的SQL Server联网数据库文件或联网   存储服务器不符合这些直写和写入顺序要求。

性能也可能受到严重影响:

  

最简单的形式是,NAS解决方案使用标准网络   重定向器软件堆栈,标准网络接口卡(NIC)和   标准以太网组件。这种配置的缺点是   所有文件I / O都是通过网络堆栈处理的   受网络本身的带宽限制。这个可以   创建性能和数据可靠性问题,尤其是在   需要极高级别文件I / O的程序,例如SQL   服务器。在Microsoft测试的一些NAS配置中,I / O.   吞吐量约为直接连接的三分之一(1/3)   存储解决方案在同一台服务器上在同样的配置中,   通过NAS设备完成I / O的CPU成本大约是   是本地I / O的两倍。

总而言之,如果你不能保证你的硬件支持这些要求,你就会玩火。它可能适用于小型测试环境,但我不会托管像这样的Live数据库,以免数据损坏或性能严重受损。

要启用,请使用KB中描述的跟踪标志1807。

答案 1 :(得分:2)

您需要SQL Server 2008R2或更高版本。从2008R2开始,UNC名称得到支持,但不鼓励(由于Chris提到的所有原因)。具有SMB 3.0能力的环境在解决大多数UNC存储问题方面有很长的路要走。在2008R2之前,跟踪标志1807可以工作,但不是受支持的部署(如果您在任何问题上寻求帮助,CSS可能会拒绝帮助您)。请参阅SQL Server Can Run Databases from Network Shares & NAS

答案 2 :(得分:0)

我认为您可以做的最好的事情是在您的nas设备中配置一个ISCSI卷,如果您有3个或更多可用磁盘,则创建RAID 5,之后您应该将NAS和您的服务器连接到连接到a的独立VLAN不同的网络设备,甚至是不同的网络设备,以避免因运营流量而对您的LAN造成影响,这样您将使用NAS作为SAN