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部分

《FILESTREAM data cannot be placed on an empty filegroup 解决办法》
《FILESTREAM data cannot be placed on an empty 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 data cannot be placed on an empty filegroup 解决办法》

 

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

ALTER
 
DATABASE
 
[
你的数据库
]


add
 
FILE
(name
=
 文件逻辑名,
FILENAME 

=
 文件全名) 
TO
 FILEGROUP 你的FileStream名

 

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

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

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

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2010/07/10/1774948.html

点赞