SQL:指定错误的无效文件组

时间:2018-02-02 10:43:55

标签: sql-server

当我尝试创建表格时:

USE [myDB];
CREATE TABLE [myTable] (
    [Id] [int] NOT NULL IDENTITY,
    [Guid] [uniqueidentifier] NOT NULL,
    [DataFS] [varbinary](max),
    [MimeType] [nvarchar](100),
    CONSTRAINT [PK_dbo.myTable] PRIMARY KEY ([Id])
) on NewFileStream

我收到错误。

  

指定了无效的文件组'NewFileStream'。

但是,我可以在列表中看到文件组NewFileStream:

select 
    * 
from 
    sys.filegroups

2 个答案:

答案 0 :(得分:1)

文件组名称NewFileStream表明它是一个文件流文件组。您不能将表行放在文件流文件组中。要创建包含文件流列的表,您需要:

  • 指定为行数据定义的文件组
  • 指定为文件流数据定义的文件组
  • 在uniqueidentifier列上指定ROWGUIDCOL和唯一约束
  • 为文件流列指定FILESTREAM

该示例将行放在默认文件组和NewFileStream上的文件组列中。

CREATE TABLE [myTable] (
    [Id] [int] NOT NULL IDENTITY,
    [Guid] [uniqueidentifier] NOT NULL ROWGUIDCOL CONSTRAINT UQ_myTable_Guid UNIQUE,
    [DataFS] [varbinary](max) FILESTREAM,
    [MimeType] [nvarchar](100),
    CONSTRAINT [PK_dbo.myTable] PRIMARY KEY ([Id])
) ON [DEFAULT] FILESTREAM_ON NewFileStream;
GO

答案 1 :(得分:0)

在ssms中,首先您可以从菜单中右键单击数据库来创建数据库,并在那里设置相同的文件组,或者如果创建了数据库,则在创建任何表之前,右键单击数据库名称,然后在属性中从左侧选择文件组页面并进行设置