为什么不能用这个对象在VS上构建sql server项目

时间:2017-03-08 13:39:14

标签: sql-server

如果对数据库执行它可以工作!但是尝试在Vs sql server项目上构建它不会。

let applyBin f s : Stack = 
    let (first, sGen1) = pop s
    let (second,sGen2) = pop sGen1
    push (f first second) sGen2

结果

CREATE TABLE [dbo].[Recebimento_Arquivo] (
    [RAr_Codigo]       INT                        IDENTITY (1, 1) NOT NULL,
    [Rar_ID_FS]        UNIQUEIDENTIFIER           DEFAULT (newid()) ROWGUIDCOL NOT NULL,
    [Rec_Codigo]       BIGINT                     NULL,
    [FAr_Codigo]       INT                        NOT NULL,
    [RAr_Arquivo]      VARBINARY (MAX) FILESTREAM NULL,
    [RAr_Dat_Cadastro] DATETIME                   CONSTRAINT [dnfRecebimentoArquivo_RArDatCadastro] DEFAULT (getdate()) NULL,
    CONSTRAINT [PK_Recebimento_Arquivo] PRIMARY KEY CLUSTERED ([RAr_Codigo] ASC) ON [FG_ARQUIVOS_DADO],
    CONSTRAINT [FK_Recebimento_Arquivo_FAr_Codigo] FOREIGN KEY ([FAr_Codigo]) REFERENCES [dbo].[Formato_Arquivo] ([FAr_Codigo]),
    UNIQUE NONCLUSTERED ([Rar_ID_FS] ASC) ON [FG_ARQUIVOS_DADO]
) FILESTREAM_ON [FG_ARQUIVOS_FS_01];

2 个答案:

答案 0 :(得分:1)

乍一看,看起来是VS SQL Server项目中的一个错误。

正如其他评论所说,您无法为群集密钥和表格指定不同的文件组。但那不是你做的。最终的文件组规范适用于存储在varbinary(max)列中的文件流数据。基于联机丛书中的语法描述,这应该是有效的 - 并且当您在SQL Server上执行它时运行它的事实直接证实了这一点。

答案 1 :(得分:0)

Ans出现错误,

    Severity    Code    Description Project File    Line    Suppression State
Error       SQL71566: Filegroup: [FG_ARQUIVOS_FS_01] cannot not be set on both the Table: [dbo].[Recebimento_Arquivo] and the clustered Primary Key: [dbo].[PK_Recebimento_Arquivo].  

您需要具有不同的文件组和主键标识符。