Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Merge Cannot insert duplicate into nonclustered index / 17 сообщений из 17, страница 1 из 1
18.06.2019, 17:24
    #39827877
_human
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
Код: plaintext
1.
2.
3.
Microsoft SQL Server 2012 (SP4) (KB4018073) - 11.0.7001.0 (X64) 
	Aug 15 2017 10:23:29 
	Copyright (c) Microsoft Corporation
	Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: )

source ~100M
target ~200M

MERGE(upsert) валиться с ошибкой
Код: plaintext
Cannot insert duplicate key row in object 'dbo.target' with unique index 'IX_target_ColA_w_ColB'. The duplicate key value is (66, 0x69a3760001000200).

Код: plaintext
1.
2.
object_id   name                                                                                                                             index_id    type type_desc                                                    is_unique data_space_id ignore_dup_key is_primary_key is_unique_constraint fill_factor is_padded is_disabled is_hypothetical allow_row_locks allow_page_locks has_filter filter_definition
----------- -------------------------------------------------------------------------------------------------------------------------------- ----------- ---- ------------------------------------------------------------ --------- ------------- -------------- -------------- -------------------- ----------- --------- ----------- --------------- --------------- ---------------- ---------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2005582323  IX_target_ColA_w_ColB                                                                                                            24          2    NONCLUSTERED                                                 0         1             0              0              0                    90          0         0           0               1               1                0          NULL

собсна странность в тексте ошибки, т.к. индекс некласнерніьй... 0_о

Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE NONCLUSTERED INDEX [IX_target_ColA_w_ColB] ON [dbo].[target]
(
	[ColA] ASC
)
INCLUDE ( 	[ColB]) 
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
GO



Пока что единственная идея - index re-build

Мож кто что знает ?
...
Рейтинг: 0 / 0
18.06.2019, 17:39
    #39827888
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
при чем тут некластерность?

заскриптован не тот индекс, который в ошибке.
тот, что в ошибке, уникальный, и по двум полям,
вам же предъявили значение ключа, ключ составной

в вашем скрипте ключ -- одно поле.
второе инклудное.
и уникальности тоже нет.

какой индекс на самом деле можно понять, рассмотрев любую нелистовую страницу.
если там 2 поля, то индекс по двум полям.
если одно, то второе действительно инклудное
...
Рейтинг: 0 / 0
18.06.2019, 18:41
    #39827921
_human
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
Yasha123,

Заскриптован тот индекс
На таблице есть еще 1-н индекс, но он так же неуникальньій/некласнерньій

Ради експеремента сделал копию таблицьі - инсерт как и мердж вьіполнился без ошибок

Код: sql
1.
dbcc page ('db', 1, 9872314, 3)



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
FileId PageId      Row    Level  ChildFileId ChildPageId ColA (key)     HEAP RID (key)     KeyHashValue     Row Size
------ ----------- ------ ------ ----------- ----------- -------------- ------------------ ---------------- --------
1      9872314     0      2      1           9872312     23101          0x0001010001000300 NULL             22
1      9872314     1      2      1           9872313     23139          0x1F84140001002400 NULL             22
1      9872314     2      2      1           9872315     23167          0xBBB01C0001001F00 NULL             22
1      9872314     3      2      1           9872316     23182          0x5DDF4A0001000E00 NULL             22
1      9872314     4      2      1           9872317     23182          0xC279140001002900 NULL             22
1      9872314     5      2      1           9872318     23201          0x24B24F0001000E00 NULL             22
1      9872314     6      2      1           9872319     23225          0x04EC1D0001000700 NULL             22
1      9872314     7      2      1           9872320     23225          0x8644160001000F00 NULL             22
1      9872314     8      2      1           9872321     23240          0x24E0220001000B00 NULL             22
1      9872314     9      2      1           9872322     23264          0x275A110001000A00 NULL             22
1      9872314     10     2      1           9872323     23266          0xB3BF080001001100 NULL             22
1      9872314     11     2      1           9872324     23308          0xD1882B0001000000 NULL             22
1      9872314     12     2      1           9872325     23313          0x8305490001002900 NULL             22
1      9872314     13     2      1           9872326     23335          0x84231C0001001F00 NULL             22
1      9872314     14     2      1           9872327     23359          0x8118350001002600 NULL             22
1      9872314     15     2      1           9872328     23362          0x4B1B280001002800 NULL             22
1      9872314     16     2      1           9872329     23362          0xD918370001001E00 NULL             22
1      9872314     17     2      1           9872330     23384          0x46AA4A0001002700 NULL             22
1      9872314     18     2      1           9872331     23384          0xA9612E0001001B00 NULL             22
1      9872314     19     2      1           9872332     23406          0x5D3E1D0001001700 NULL             22
1      9872314     20     2      1           9872333     23450          0x2FC8580001000100 NULL             22
1      9872314     21     2      1           9872334     23505          0x062A1D0001002800 NULL             22
1      9872314     22     2      1           9872335     23523          0x1F93110001001E00 NULL             22
1      9872314     23     2      1           9872336     23569          0x40870A0001002900 NULL             22
1      9872314     24     2      1           9872337     23595          0x0C39300001000500 NULL             22
1      9872314     25     2      1           9872338     23595          0xF6B8510001002900 NULL             22
1      9872314     26     2      1           9872339     23619          0x03FB0A0001001600 NULL             22
1      9872314     27     2      1           9872340     23625          0xCBB01C0001002500 NULL             22
1      9872314     28     2      1           9872341     23637          0x202B4F0001002400 NULL             22
1      9872314     29     2      1           9872342     23637          0x4424150001000F00 NULL             22
1      9872314     30     2      1           9872343     23637          0x673D5C0001000200 NULL             22
1      9872314     31     2      1           5684408     23637          0x8B3E240001000000 NULL             22
1      9872314     32     2      1           5684409     23637          0xAEFE490001001D00 NULL             22
1      9872314     33     2      1           5684410     23637          0xD04D090001001100 NULL             22
1      9872314     34     2      1           5684411     23637          0xF483530001002A00 NULL             22
1      9872314     35     2      1           5684412     23688          0xA124370001000300 NULL             22
1      9872314     36     2      1           5684413     23798          0xDFEC1D0001001E00 NULL             22
1      9872314     37     2      1           5684414     23823          0xB418500001000D00 NULL             22
1      9872314     38     2      1           5684415     23842          0xFA2E590001002900 NULL             22
1      9872314     39     2      1           5684416     23917          0x3A25540001000700 NULL             22
1      9872314     40     2      1           5684417     23924          0xE3672C0001000D00 NULL             22
1      9872314     41     2      1           5684418     23959          0xBAC80B0001000600 NULL             22
1      9872314     42     2      1           5684419     23996          0x7A98160001002200 NULL             22
1      9872314     43     2      1           5684420     24001          0x070D020001001000 NULL             22
1      9872314     44     2      1           5684421     24007          0x95460A0001002100 NULL             22
1      9872314     45     2      1           5684422     24028          0x07E64C0001002900 NULL             22
1      9872314     46     2      1           5684423     24028          0x27713C0001002C00 NULL             22
1      9872314     47     2      1           5684424     24028          0x4993110001002500 NULL             22
1      9872314     48     2      1           5684425     24028          0x6B92050001000600 NULL             22
1      9872314     49     2      1           5684426     24028          0x8DE8030001000D00 NULL             22
1      9872314     50     2      1           5684427     24028          0xAF5B0D0001000100 NULL             22
1      9872314     51     2      1           5684428     24028          0xCFEA080001002100 NULL             22
1      9872314     52     2      1           5684429     24028          0xF078040001000800 NULL             22


тригеров нет
целевая таблица - факт в двх, есть пачка внешних ключей
несколько DF
все что вьіше не может завалить мердж с такой ошибкой
...
Рейтинг: 0 / 0
18.06.2019, 19:19
    #39827939
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
_human,

Здесь ошибка хоть и упоминает индекс, но она относиться к самому MERGE.

Когда MERGE сопоставлял один набор строк с другим у него с какой-то строкой DESTINATION сопоставилось боле одной строки в SOURCE.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT * INTO #SOURCE FROM (VALUES (2, 'x'), (2, 'y')) source(a, b);

SELECT * INTO #DEST FROM (VALUES (1, 'a'), (2, 'b'), (3, 'c')) dest(a, b);

MERGE INTO #DEST d
USING #SOURCE s 
ON s.a = d.a
WHEN MATCHED THEN UPDATE SET b = s.b;
...
Рейтинг: 0 / 0
18.06.2019, 19:55
    #39827947
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
_humanЗаскриптован тот индексВам уже писали - заскриптован неуникальный индекс с одним ключевым столбцом .
Ошибка же на уникальном индексе с двумя ключевыми столбцами .

Проверяйте на какой БД/сервере скриптуете и на какой БД/сервере выполняете.
...
Рейтинг: 0 / 0
19.06.2019, 01:17
    #39828059
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
a_voronin,

И ошибка будет так и звучать, а никак не про индексы
...
Рейтинг: 0 / 0
19.06.2019, 10:08
    #39828165
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
_human
Код: sql
1.
dbcc page ('db', 1, 9872314, 3)



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
FileId PageId      Row    Level  ChildFileId ChildPageId ColA (key)     HEAP RID (key)     KeyHashValue     Row Size
------ ----------- ------ ------ ----------- ----------- -------------- ------------------ ---------------- --------
1      9872314     0      2      1           9872312     23101          0x0001010001000300 NULL             22
1      9872314     1      2      1           9872313     23139          0x1F84140001002400 NULL             22
1      9872314     2      2      1           9872315     23167          0xBBB01C0001001F00 NULL             22
1      9872314     3      2      1           9872316     23182          0x5DDF4A0001000E00 NULL             22
1      9872314     4      2      1           9872317     23182          0xC279140001002900 NULL             22
1      9872314     5      2      1           9872318     23201          0x24B24F0001000E00 NULL             22
1      9872314     6      2      1           9872319     23225          0x04EC1D0001000700 NULL             22
1      9872314     7      2      1           9872320     23225          0x8644160001000F00 NULL             22
1      9872314     8      2      1           9872321     23240          0x24E0220001000B00 NULL             22
1      9872314     9      2      1           9872322     23264          0x275A110001000A00 NULL             22
1      9872314     10     2      1           9872323     23266          0xB3BF080001001100 NULL             22
1      9872314     11     2      1           9872324     23308          0xD1882B0001000000 NULL             22
1      9872314     12     2      1           9872325     23313          0x8305490001002900 NULL             22
1      9872314     13     2      1           9872326     23335          0x84231C0001001F00 NULL             22
1      9872314     14     2      1           9872327     23359          0x8118350001002600 NULL             22
1      9872314     15     2      1           9872328     23362          0x4B1B280001002800 NULL             22
1      9872314     16     2      1           9872329     23362          0xD918370001001E00 NULL             22
1      9872314     17     2      1           9872330     23384          0x46AA4A0001002700 NULL             22
1      9872314     18     2      1           9872331     23384          0xA9612E0001001B00 NULL             22
1      9872314     19     2      1           9872332     23406          0x5D3E1D0001001700 NULL             22
1      9872314     20     2      1           9872333     23450          0x2FC8580001000100 NULL             22
1      9872314     21     2      1           9872334     23505          0x062A1D0001002800 NULL             22
1      9872314     22     2      1           9872335     23523          0x1F93110001001E00 NULL             22
1      9872314     23     2      1           9872336     23569          0x40870A0001002900 NULL             22
1      9872314     24     2      1           9872337     23595          0x0C39300001000500 NULL             22
1      9872314     25     2      1           9872338     23595          0xF6B8510001002900 NULL             22
1      9872314     26     2      1           9872339     23619          0x03FB0A0001001600 NULL             22
1      9872314     27     2      1           9872340     23625          0xCBB01C0001002500 NULL             22
1      9872314     28     2      1           9872341     23637          0x202B4F0001002400 NULL             22
1      9872314     29     2      1           9872342     23637          0x4424150001000F00 NULL             22
1      9872314     30     2      1           9872343     23637          0x673D5C0001000200 NULL             22
1      9872314     31     2      1           5684408     23637          0x8B3E240001000000 NULL             22
1      9872314     32     2      1           5684409     23637          0xAEFE490001001D00 NULL             22
1      9872314     33     2      1           5684410     23637          0xD04D090001001100 NULL             22
1      9872314     34     2      1           5684411     23637          0xF483530001002A00 NULL             22
1      9872314     35     2      1           5684412     23688          0xA124370001000300 NULL             22
1      9872314     36     2      1           5684413     23798          0xDFEC1D0001001E00 NULL             22
1      9872314     37     2      1           5684414     23823          0xB418500001000D00 NULL             22
1      9872314     38     2      1           5684415     23842          0xFA2E590001002900 NULL             22
1      9872314     39     2      1           5684416     23917          0x3A25540001000700 NULL             22
1      9872314     40     2      1           5684417     23924          0xE3672C0001000D00 NULL             22
1      9872314     41     2      1           5684418     23959          0xBAC80B0001000600 NULL             22
1      9872314     42     2      1           5684419     23996          0x7A98160001002200 NULL             22
1      9872314     43     2      1           5684420     24001          0x070D020001001000 NULL             22
1      9872314     44     2      1           5684421     24007          0x95460A0001002100 NULL             22
1      9872314     45     2      1           5684422     24028          0x07E64C0001002900 NULL             22
1      9872314     46     2      1           5684423     24028          0x27713C0001002C00 NULL             22
1      9872314     47     2      1           5684424     24028          0x4993110001002500 NULL             22
1      9872314     48     2      1           5684425     24028          0x6B92050001000600 NULL             22
1      9872314     49     2      1           5684426     24028          0x8DE8030001000D00 NULL             22
1      9872314     50     2      1           5684427     24028          0xAF5B0D0001000100 NULL             22
1      9872314     51     2      1           5684428     24028          0xCFEA080001002100 NULL             22
1      9872314     52     2      1           5684429     24028          0xF078040001000800 NULL             22




dbcc page показывает страницу одноколоночного неуникального некластерного индекса на куче.
если вы так уверены, что все делаете там,
то делали ли вы базе чекдб в ближайшее время?
...
Рейтинг: 0 / 0
19.06.2019, 17:44
    #39828522
_human
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
invmПроверяйте на какой БД/сервере скриптуете и на какой БД/сервере выполняете.

проверил. тот сервер и та БД.
1-н продакшн сервер, 1-а БД, 1-а таблица, 1-н индекс

Индекс указаньій в ошибке существует - неуникальньій.
Я уже проверил может он в рантайм создается - нет.

Yasha123то делали ли вы базе чекдб в ближайшее время?
я не делал.
сейсас попробую с physical only
...
Рейтинг: 0 / 0
19.06.2019, 17:45
    #39828523
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
Репро на небольшом кол-ве данных не собирается?
...
Рейтинг: 0 / 0
19.06.2019, 17:54
    #39828528
_human
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
Гавриленко Сергей АлексеевичРепро на небольшом кол-ве данных не собирается?
уже
_humanРади експеремента сделал копию таблицьі - инсерт как и мердж вьіполнился без ошибок

Сколько врмени займет ориентировочно checkdb ~150 GB ?
...
Рейтинг: 0 / 0
19.06.2019, 18:03
    #39828530
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
_humanСколько врмени займет ориентировочно checkdb ~150 GB ?
если база в порядке, полчаса хватит на полноценный чекдб вашиx 160Гб.
если блобов нет, времени надо еще меньше.
если ошибки есть, то время увеличивается.
...
Рейтинг: 0 / 0
19.06.2019, 19:42
    #39828553
_human
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
Yasha123 полноценный чекдб вашиx 160Гб.
где-то спустя 40 минут сессию дисконектнуло
вернуло сообщения по таблице и индексу которьіе в мердж-ошибке

Код: plaintext
1.
2.
3.
Msg 8952, Level 16, State 1, Line 1
Table error: table 'target' (ID 2005582323). Index row in index 'IX_target_ColA_w_ColB' (ID 24) does not match any data row. Possible extra or invalid keys for:
Msg 8956, Level 16, State 1, Line 1
Index row (1:1264298:49) with values (ColA = 8 and HEAP RID = (1:7516416:17)) pointing to the data row identified by (HEAP RID = (1:7516416:17)).

Таких сообщений ровно 500
По другим обьектам ошибок не вернуло, хотя не исключено
...
Рейтинг: 0 / 0
19.06.2019, 22:14
    #39828582
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
_human,

может, rebuild индекса сделать?
...
Рейтинг: 0 / 0
19.06.2019, 22:37
    #39828586
_human
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
iapможет, rebuild индекса сделать?
Да,
только пишут что нужен drop->create

мои dbcc check% никогла полностью не были завешены, т.к. или сессия была disconnect или студия умирала c SystemOutOfMemory, это на сервере ничего не выполнялось + 128 ГБ RAM
сейчас запустил с sqlcmd + output to file
Собственно вопрос, как dbcc check на продакшн делают ?
...
Рейтинг: 0 / 0
20.06.2019, 09:59
    #39828664
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
_humanСобственно вопрос, как dbcc check на продакшн делают ?
ну так и делают, агентом по расписанию, во время минимальной активности.
у вас наверное круто база попорчена, раз все так трагически завершается вылетанием.
можно конечно и на отресторенной копии запускать на другом сервере,
но только это пока все без ошибок.
ошибки все равно же надо на основном исправлять.
...
Рейтинг: 0 / 0
20.06.2019, 10:06
    #39828667
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
_human SystemOutOfMemory, это на сервере ничего не выполнялось + 128 ГБ RAM

на прежнем месте работы была пара баз по 2Тб,
24Гб оперативки и никто не умирал,
чекдб лопатил их каждую неделю.
на новой чекдб настроен даже на девелоперском сервере с 4(!!!) Гб,
база 500Гб и тоже никто не умер
...
Рейтинг: 0 / 0
21.06.2019, 02:29
    #39828977
_human
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Merge Cannot insert duplicate into nonclustered index
После фикса индекса мердж ошил
Всем спасибо
Хепи енд
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Merge Cannot insert duplicate into nonclustered index / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]