Magic Studio

专心做有逼格的APP!

FILESTREAM data cannot be placed on an empty filegroup 解决办法

如果你也遇到了FILESTREAM data cannot be placed on an empty filegroup 这个错误。

你去google搜索,得到的第一条是应该在这里。答案是:

 

Your script are missing three things:

1) A USE statement for the database.

2) An ALTER DATABASE statement to add a file to the FILESTREAM file group. For instance:

ADD FILE (NAME = filestream_data,

          FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\PreviewIntegration_data')


Beware that the file name should be on a single line.
             

3) A ROWGUIDCOL in the table:

guid uniqueidentifier NOT NULL UNIQUE ROWGUIDCOL,

 

意思是需要

1. Use [你的数据库名]

2. 修改数据库

   完整的应该是这样的(这里只涉及到了修改数据库的file和filegroup部分

语法
 1 ALTER DATABASE database_name 
 2 {
 3     <add_or_modify_files>
 4   | <add_or_modify_filegroups>
 5 }
 6 [;]
 7 
 8 <add_or_modify_files>::=
 9 {
10     ADD FILE <filespec> [ ,...n ] 
11         [ TO FILEGROUP { filegroup_name } ]
12   | ADD LOG FILE <filespec> [ ,...n ] 
13   | REMOVE FILE logical_file_name 
14   | MODIFY FILE <filespec>
15 }
16 
17 <filespec>::= 
18 (
19     NAME = logical_file_name  
20     [ , NEWNAME = new_logical_name ] 
21     [ , FILENAME = {'os_file_name' | 'filestream_path' } ] 
22     [ , SIZE = size [ KB | MB | GB | TB ] ] 
23     [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] 
24     [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB| % ] ] 
25     [ , OFFLINE ]
26 
27 
28 <add_or_modify_filegroups>::=
29 {
30     | ADD FILEGROUP filegroup_name 
31         [ CONTAINS FILESTREAM ]
32     | REMOVE FILEGROUP filegroup_name 
33     | MODIFY FILEGROUP filegroup_name
34         { <filegroup_updatability_option> 
35         | DEFAULT
36         | NAME = new_filegroup_name 
37         }
38 }
39 <filegroup_updatability_option>::=
40 {
41     { READONLY | READWRITE } 
42     | { READ_ONLY | READ_WRITE }
43 }
44 

 

 你看了这个语法,再看前面给出来的答案你就会明白那样子的添加文件并没有和库的FileStream有任何的关联。所以应该是这样的:

ALTER DATABASE [你的数据库]

add FILE(name= 文件逻辑名,
FILENAME 
= 文件全名) TO FILEGROUP 你的FileStream名

 

也就是以上的例子需要在后面加上To FileGroup来指明文件添加到哪个FileStream下。

到这里基本的上主要的问题就都解决掉了。

剩下的按照最初的解决方一一对照修正就可以解决了。

posted on 2010-07-10 18:56  Mr 布鲁斯  阅读(1371)  评论(0编辑  收藏  举报

导航