在網上看到有人遇到資料庫空間不夠用,問是否可以建立資料庫到網際網路共用磁碟? 答案是可以的。但是這種做法是不推薦的,效能可能會受到影響。
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
更多資訊參考:
http://blogs.msdn.com/b/varund/archive/2010/09/02/create-a-sql-server-database-on-a-network-shared-drive.aspx