Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
По какой причине может быть бага? Происходит тут: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. В таблице XXX просто нет строк с тем ключом, который вставляю по запросу из таблицы YYY. Ключ составной и одно из его полей банально всегда новое (выдаётся функцией SCOPE_IDENTITY после вставки в другую таблицу). Как можно при этом схватить дублирование ключа? Если вставлять строки по одной оператором: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. То всё нормально. Понимаю, что пятница вечер, и мозг уже всё. Походу, я какую-то тонкость упустил. Может, кто знает как включить какую-то внутреннюю диагностику, чтобы понять, какой именно ключ (значения) она пытается вставить неудачно? #Хэш= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 15:51 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
04cf9f9576a6f15, хреново написанный триггер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 15:53 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
buser04cf9f9576a6f15, хреново написанный триггер?Нет триггеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:05 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
04cf9f9576a6f15какой именно ключ (значения) она пытается вставить неудачно?Вообще-то, эта информация есть в сообщении об ошибке. Это прикрутили, ЕМНИП, еще в версии 2008. Выполните Код: sql 1. 2. 3. 4. 5. 6. и увидите проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:06 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
04cf9f9576a6f15, осталось угадать, что же за ключ и что жы вы делаете в Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:07 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
04cf9f9576a6f15, Предположу, что "Если вставлять строки по одной оператором" Вы делаете вручную из SSMS. А вот "FROM YYY WHERE " у Вас отрабатывает откуда-то не один раз, а несколько, из клиентского приложения , Вы же уверены, что будет выполнено один раз. Ну или dynamic sql крутится в цикле несколько раз, а условие получается одинаковым, а не разным where, как Вы думаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:17 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
invm04cf9f9576a6f15какой именно ключ (значения) она пытается вставить неудачно?Вообще-то, эта информация есть в сообщении об ошибке. Это прикрутили, ЕМНИП, еще в версии 2008.Есть? В том и дело, что нет. И это удивило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:31 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP04cf9f9576a6f15, Предположу, что "Если вставлять строки по одной оператором" Вы делаете вручную из SSMS. А вот "FROM YYY WHERE " у Вас отрабатывает откуда-то не один раз, а несколько, из клиентского приложения , Вы же уверены, что будет выполнено один раз. Ну или dynamic sql крутится в цикле несколько раз, а условие получается одинаковым, а не разным where, как Вы думаете.Нет. После того, как вылетела бага в клиентском приложении, я запускаю из SSMS последовательность операторов, как они были в хранимке. Запускаю один раз. Потом откатываю транзакцию. Для диагностики вставляю PRINT и вывожу содержимое промежуточных таблиц. Но, результата пока нет. Пятница - такая пятница. #Хэш= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:34 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
Ошибка где-то в трех точках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:35 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичОшибка где-то в трех точкахУгу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:48 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
04cf9f9576a6f15Andy_OLAP04cf9f9576a6f15, Предположу, что "Если вставлять строки по одной оператором" Вы делаете вручную из SSMS. А вот "FROM YYY WHERE " у Вас отрабатывает откуда-то не один раз, а несколько, из клиентского приложения , Вы же уверены, что будет выполнено один раз. Ну или dynamic sql крутится в цикле несколько раз, а условие получается одинаковым, а не разным where, как Вы думаете.Нет. После того, как вылетела бага в клиентском приложении, я запускаю из SSMS последовательность операторов, как они были в хранимке. Запускаю один раз. Потом откатываю транзакцию. Для диагностики вставляю PRINT и вывожу содержимое промежуточных таблиц. Но, результата пока нет. Пятница - такая пятница. #Хэш= Еще раз. Клиентское приложение вызывает ДВАЖДЫ хранимку. Поэтому при второй попытке вставить в XXX те же строки из YYY вываливается с ошибкой. А Вы из SSMS однократно вызываете хранимку. Приложение уж не на APS.NET ли написано? Симптомы больно похожие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:50 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
Уф, нашёл. Код: sql 1. 2. 3. 4. Условие в WHERE было сформулировано так, что в некоторых случаях выдавалось несколько строк с одинаковыми полями первичного ключа. То есть, их не было в изначальной таблице. Они появлялись при вставке. Невнимательность. #Хэш= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 16:57 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
04cf9f9576a6f15Есть? В том и дело, что нет. И это удивило.Значит сервер древнее 2008 R2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 17:12 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
invm04cf9f9576a6f15Есть? В том и дело, что нет. И это удивило.Значит сервер древнее 2008 R2. Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 20:06 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
04cf9f9576a6f15invmпропущено... Значит сервер древнее 2008 R2. Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)Сервиспаки? Обновления? Это все для трусов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 22:19 |
|
||
|
Violation of PRIMARY KEY constraint
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичСервиспаки? Обновления? Это все для трусов!Такие админы в конторе. Такое руководство. У меня нет полномочий, возможностей и желания ходить и всех пинать. Зимой это уже чуть не привело к моему увольнению. Так что я забил. Молча работаю с тем, что дают. Таки да, оказывается, диагностика зависит от сервис пака: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. На одном сервере: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) Сообщение 2627, уровень 14, состояние 1, строка 11 Violation of PRIMARY KEY constraint 'PK__#temp_____C5F0F34D75C0A3B0'. Cannot insert duplicate key in object 'dbo.#temp'.На другом сервере: Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (X64) Aug 19 2014 12:21:34 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) Сообщение 2627, уровень 14, состояние 1, строка 11 Нарушение "PK__#temp_____C5F0F34D42BCF8A1" ограничения PRIMARY KEY. Не удается вставить повторяющийся ключ в объект "dbo.#temp". Повторяющееся значение ключа: (5).#Хэш= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2018, 17:05 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=146&tid=1689561]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 338ms |

| 0 / 0 |
