Я пытаюсь сделать следующее для своей таблицы журналов IIS:
ALTER TABLE [W3CLog]
ADD [LogTime] AS [date] + ([time] - '1900-01-01') PERSISTED
Однако SQL Server 2008 сообщает мне:
Computed column 'LogTime' in table 'W3CLog' cannot be persisted because the column is non-deterministic.
Таблица имеет такое определение:
CREATE TABLE [dbo].[W3CLog](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
...
[date] [datetime] NULL,
[time] [datetime] NULL,
...
)
Почему это недетерминировано?
Мне действительно нужно проиндексировать это поле.В настоящее время таблица содержит 1598170 строк, и запрос, если мы не можем выполнить поиск по индексу за полный рабочий день, будет проблематичным.Поскольку это UNION с некоторыми другими форматами журналов, мы не можем легко использовать эти два столбца отдельно.