在网上看到有人遇到数据库空间不够用,问是否可以创建数据库到网络共享磁盘? 答案是可以的。但是这种做法是不推荐的,性能可能会受到影响。
1. 2005/2008 在网络共享磁盘上创建数据库
在2005和2008上默认是不可以在网络共享磁盘上创建数据库的,因为可能会因为网络原因导致数据库的完整性出现问题,同时伴随着IO性能损失导致数据库出现问题。Microsoft KB #304261.但是我们可以通过开启Trace Flag 1807使SQL Server在网络共享磁盘上创建数据库:
Step 1. 启动Trace Flag 1807
DBCCTRACEON(1807, -1)
Step 2. 确保SQL Server Service账户对网络共享磁盘有Full Control权限。
Step 3. 创建数据库
CREATEDATABASE [networked]ON PRIMARY
( NAME = N'networked', FILENAME = N'\\varund-win7\ATOMNETWORKDB\networked.mdf' , SIZE =3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'networked_log', FILENAME = N'\\varund-win7\ATOMNETWORKDB\networked_log.ldf' ,SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
2. 2008 R2及之后版本:
从2008R2以后就没有了之前的限制,可以直接创在网络共享磁盘创建数据库(UNC path).
Step 1. 确保SQL Server Service账户对网络共享磁盘有Full Control权限。
Step 2. 创建数据库
CREATEDATABASE[networked_r2] ON PRIMARY
( NAME = N'networked_r2', FILENAME = N'\\varund-win7\ATOMNETWORKDB\networked_r2.mdf' , SIZE= 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'networked_r2_log', FILENAME = N'\\varund-win7\ATOMNETWORKDB\networked_log_r2.ldf' ,SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
更多信息参考:
转载于:https://blog.51cto.com/lzf328/1224154