web-dev-qa-db-fra.com

Erreur 35338: L'indice de colonne en cluster n'est pas pris en charge

Sur SQL Server 2012, je souhaite indexer une table avec un indice colonne. Mais un message d'erreur espère:

MSG 35338, niveau 16, état 1, ligne 1
L'indice de colonne en cluster n'est pas pris en charge.

Mon code est:

CREATE TABLE [dbo].[Card](
    [CardId] [int] IDENTITY(1,1) NOT NULL,
    [CardSerialNumber] [varchar](19) NULL,
    [CreateDate] [datetime] NOT NULL
) ON [PRIMARY]

GO
CREATE CLUSTERED COLUMNSTORE INDEX cci_Simple ON [dbo].[Card]
2
MihaiRednic

SQL Server 2012 ne prend en charge que la création d'index de colonne non clustered. Changez votre code à:

CREATE NONCLUSTERED COLUMNSTORE INDEX cci_Simple ON [dbo].[Card]

Dans SQL Server 2012, cela rendra votre table en lecture seule. Vous devriez probablement regarder l'ajout des trois colonnes de la table à l'indice de colonne de ColumnStore, mais je vais laisser cela à vos tests.

Notez que les index de ColumnStore nécessitent également une édition d'entreprise.

9
James Anderson