Создание индекса SQL Server в 2012 и 2016 годах

omkar спросил: 26 ноября 2017 в 05:21 в: sql-server-2012

Сценарий нижеуказанного индекса не работает в SQL Server 2012:

CREATE TABLE #ContextDetailTaskTable  
(
    ContextDetailID bigint not null,
    index #ContextDetailTaskTableIndex clustered (ContextDetailID)
)

Ошибка:

Неверный синтаксис рядом с 'index'. Если это предназначено как часть табличной подсказки, теперь требуются ключевое слово WITH и скобки. Информацию о правильном синтаксисе см. В электронной документации по SQL Server.

Тогда как то же самое работает и в SQL Server 2016.

Я установил уровень изоляции транзакции на моментальный снимок, поэтому создать индекс не удается работа https://connect.microsoft.com/SQLServer/feedback/details/531747/error-3964-on-create-index-on-tevent-table-under-snapshot-isolation-level

Мы добавил фиктивный столбец и добавил в него идентичность. Надеюсь, это не повлияет на производительность?

Временное решение в SQL Server 2012:

CREATE TABLE #ContextIDTable  
(
     ContextDetailID bigint NOT NULL,
     ID1 INT NOT NULL identity(1,1),     CONSTRAINT PK_#ContextIDTable 
         PRIMARY KEY CLUSTERED (ContextDetailID, ID1)
)

0 ответов