Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
RedBird
Member

Откуда: Москва
Сообщений: 153
В давно работающей БД получено сообщение вида:
Не удается вставить повторяющуюся строку ключа в объект "dbo..." с уникальным индексом "Имя индекса". Повторяющееся значение ключа: (92, -2, 78101).
Проверено: что индекс не уникальный при выполнении UPDATE на таблицу
Формально ошибка не должна возникать, т.к. индекс не уникальный.
Просьба дать совет, что еще можно проверить и/или сделать чтобы решить/диагностировать проблему.
ВАЖНО: сервер и БД нельзя выводить из эксплуатации.
17 июл 17, 11:03    [20649497]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
RedBird,

строку создания индекса "Имя индекса" покажите
17 июл 17, 11:11    [20649529]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
RedBird
Member

Откуда: Москва
Сообщений: 153
CREATE NONCLUSTERED INDEX [Track_StorageID_TimeBegin] ON [dbo].[Track]
(
	[StorageID] ASC,
	[TimeBegin] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
17 июл 17, 11:27    [20649588]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
RedBird,

а в ошибке я виду 3 поля, давайте правильный индекс указанный в ошибке
17 июл 17, 11:29    [20649593]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
RedBird
Member

Откуда: Москва
Сообщений: 153
TaPaK,

В том то и дело, что это рабочий индекс...
Поэтому и нужны идеи что еще можно проветить
17 июл 17, 11:34    [20649605]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
RedBird
Member

Откуда: Москва
Сообщений: 153
TaPaK,

Пока вылечилось путем удаления индекса и его повторного создания.
Меня интересовал вопрос что было сломано и как это определить.
17 июл 17, 11:38    [20649623]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
RedBird
TaPaK,

В том то и дело, что это рабочий индекс...
Поэтому и нужны идеи что еще можно проветить

згначить вы не туда смотрите, заберите скрипт индекса конкретно с той бд на которой ошибки
17 июл 17, 11:38    [20649624]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
RedBird
Member

Откуда: Москва
Сообщений: 153
TaPaK,

К сожалению я смотрю туда, куда пишет сообщение...
То что индекс был сломан это факт, т.к. его повторное создание проблему решило.
Вопрос был в том как понять что и почему было сломано.
17 июл 17, 11:40    [20649641]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
RedBird
TaPaK,
Вопрос был в том как понять что и почему было сломано.

подняли новый индекс
17 июл 17, 11:53    [20649693]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
Addx
Member

Откуда:
Сообщений: 957
RedBird
TaPaK,
То что индекс был сломан это факт, т.к. его повторное создание проблему решило.
Вопрос был в том как понять что и почему было сломано.


Это не факт, а Ваше мнение. Вы просто удалили один индекс, а создали другой.
TaPaK правильно указал на список полей в ошибке, но проще всего свалить вину на "глючный SQL Server".
17 июл 17, 12:10    [20649785]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
RedBird
TaPaK,

К сожалению я смотрю туда, куда пишет сообщение...
То что индекс был сломан это факт, т.к. его повторное создание проблему решило.
Вопрос был в том как понять что и почему было сломано.

это вы типа сервер обвиняете? ну ну :)
если default trace не отключён можете посмотрет кто что с индексами делал
DECLARE @filename NVARCHAR(4000);

SELECT @filename = REVERSE(SUBSTRING(REVERSE([path]), 
     CHARINDEX('\', REVERSE([path])), 260)) + N'log.trc'
   FROM sys.traces WHERE is_default = 1;

SELECT 
	*	
FROM sys.fn_trace_gettable(@filename, DEFAULT)
WHERE    
	IndexID IS NOT NULL
	AND ObjectID = object_id('TABLENAME')
	AND DatabaseId = DB_ID('DBNAME')
ORDER BY StartTime DESC;
17 июл 17, 12:17    [20649810]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL Server 2014 SP2: Не удается вставить повторяющуюся строку ключа в объект...  [new]
o-o
Guest
базу давно проверяли(dbcc checkdb)?
17 июл 17, 12:27    [20649835]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить