SQL Server 2012で、columnstoreインデックスを使用してテーブルにインデックスを付けたいです。しかし、エラーメッセージが表示されます。
メッセージ35338、レベル16、状態1、行1
クラスター化列ストアインデックスはサポートされていません。
私のコードは:
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]
SQL Server 2012は、非クラスター化列ストアインデックスの作成のみをサポートします。コードを次のように変更します。
CREATE NONCLUSTERED COLUMNSTORE INDEX cci_Simple ON [dbo].[Card]
SQL Server 2012では、これによりテーブルが読み取り専用になります。おそらく、テーブルの3つの列すべてを列ストアインデックスに追加することを検討する必要がありますが、それはテストにまかせます。
列ストアインデックスにはEnterprise Editionも必要です。