|
Отправка xml deadlock на почту
|
|||
---|---|---|---|
#18+
Здравствуйте. Пытаюсь решить проблему мониторинга deadlock, но при этом чтобы на почту отправлялся сам xml. Нашел код который выводит актуальную последнюю информацию и пытаюсь отправить вывод по почте: Код: sql 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.
Сообщение приходит, но текст вложения в крайне обрезанном виде, подозреваю что надо как-то из вывода получить отдельно xml и посылать уже его. Но не могу разобраться как это можно сделать, или может есть альтернативы, в sql очень слаб. Пожалуйста помогите. Как симулировать deadlock, чтобы появилась хоть одна запись, написано тут https://stackoverflow.com/questions/22825147/how-to-simulate-deadlock-on-sql-server ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 16:20 |
|
Отправка xml deadlock на почту
|
|||
---|---|---|---|
#18+
Вот такой вывод ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 16:24 |
|
Отправка xml deadlock на почту
|
|||
---|---|---|---|
#18+
Вопрос стал более конкретный, наколхозил тут. и вроде уже должно работать, но вместо полноценного текста опять он шлет обрывок, я не понимаю в чем прикол: Код: sql 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.
Вот что выводит print: автор(3354 rows affected) (1 row affected) <deadlock><victim-list><victimProcess id="process1fd2e0e48c8"/></victim-list><process-list><process id="process1fd2e0e48c8" taskpriority="0" logused="292" waitresource="RID: 45:1:164440:0" waittime="250" ownerId="4640151169" transactionname="user_transaction" lasttranstarted="2021-01-15T18:04:39.067" XDES="0x1ffb4014420" lockMode="U" schedulerid="3" kpid="16200" status="suspended" spid="257" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2021-01-15T18:06:21.077" lastbatchcompleted="2021-01-15T18:06:21.073" lastattention="1900-01-01T00:00:00.073" clientapp="Microsoft SQL Server Management Studio - Query" hostname="SQL" hostpid="12632" loginname="*******" isolationlevel="read committed (2)" xactid="4640151169" currentdb="45" currentdbname="DBADB" lockTimeout="4294967295" clientoption1="671090784" clientoption2="390200"><executionStack><frame procname="adhoc" line="1" stmtstart="60" stmtend="164" sqlhandle="0x02000000696fc60d07e5ac70ad4c651c06a4ec011548aecb0000000000000000000000000000000000000000"> unknown </frame><frame procname="adhoc" line="1" stmtend="114" sqlhandle="0x020000008d4eba005eafe19de696f6e313b5cfd7b8c53e6c0000000000000000000000000000000000000000"> unknown </frame></executionStack><inputbuf> UPDATE Employees SET Phone = N'555-9999' WHERE EmpId = 1 </inputbuf></process><process id="process1faca6dfc28" taskpriority="0" logused="304" waitresource="RID: 45:1:164448:0" waittime="15884" ownerId="4640152981" transactionname="user_transaction" lasttranstarted="2021-01-15T18:04:40.990" XDES="0x1fbcbcec420" lockMode="U" schedulerid="1" kpid="9768" status="suspended" spid="318" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2021-01-15T18:06:05.443" lastbatchcompleted="2021-01-15T18:06:05.443" lastattention="1900-01-01T00:00:00.443" clientapp="Microsoft SQL Server Management Studio - Query" hostname="SQL" hostpid="12632" loginname="**********" isolationlevel="read committed (2)" xactid="4640152981" currentdb="45" currentdbname="DBADB" lockTimeout="4294967295" clientoption1="671090784" clientoption2="390200"><executionStack><frame procname="adhoc" line="1" stmtstart="60" stmtend="170" sqlhandle="0x02000000523f2b16e8151c86efb7cbf2c4b97d43c97666f80000000000000000000000000000000000000000"> unknown </frame><frame procname="adhoc" line="1" stmtend="120" sqlhandle="0x02000000736d5a1a34a90001467ee8941cc8b0edf596cb540000000000000000000000000000000000000000"> unknown </frame></executionStack><inputbuf> UPDATE Suppliers SET Fax = N'555-1212' WHERE SupplierId = 1 </inputbuf></process></process-list><resource-list><ridlock fileid="1" pageid="164440" dbid="45" objectname="DBADB.dbo.Employees" id="lock1ffb3858900" mode="X" associatedObjectId="72057594043367424"><owner-list><owner id="process1faca6dfc28" mode="X"/></owner-list><waiter-list><waiter id="process1fd2e0e48c8" mode="U" requestType="wait"/></waiter-list></ridlock><ridlock fileid="1" pageid="164448" dbid="45" objectname="DBADB.dbo.Suppliers" id="lock2000c321780" mode="X" associatedObjectId="72057594043432960"><owner-list><owner id="process1fd2e0e48c8" mode="X"/></owner-list><waiter-list><waiter id="process1faca6dfc28" mode="U" requestType="wait"/></waiter-list></ridlock></resource-list></deadlock> Mail (Id: 703) queued. Completion time: 2021-01-16T17:20:01.9303778+03:00 А вот что приходит в письме: авторunknown unknown UPDATE Employees SET Phone = N'555-9999' WHERE EmpId = 1 unknown unknown UPDATE Suppliers SET Fax = N'555-1212' WHERE SupplierId = 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 17:29 |
|
Отправка xml deadlock на почту
|
|||
---|---|---|---|
#18+
Dorirad.Dolabar, @attach_query_result_as_file = 1 не помогает, выходит? Подсчитывали количество символов, которое приходит? Что насчет @query_no_truncate = 1? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 18:32 |
|
Отправка xml deadlock на почту
|
|||
---|---|---|---|
#18+
Dorirad.Dolabar Код: sql 1.
поменяй на TEXT если результат будет, и, таки, очень хочется HTML, - то нужно будет немного с HTML-тегами ознакомиться, в частности plaintext :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 20:36 |
|
Отправка xml deadlock на почту
|
|||
---|---|---|---|
#18+
court благодарствую, помогло, не знаю чего сам не догадался. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 21:50 |
|
Отправка xml deadlock на почту
|
|||
---|---|---|---|
#18+
Владислав Колосов Dorirad.Dolabar, @attach_query_result_as_file = 1 не помогает, выходит? Подсчитывали количество символов, которое приходит? Что насчет @query_no_truncate = 1? не пробовал, я так понимаю должно помочь, меня тут запарил косяк вида авторFailed to initialize sqlcmd library with error number -2147467259. причем если в первом варианте скрипта, когда весь запрос выполнялся в @query удалось победить с помощью set QUOTED_IDENTIFIER on то @query = 'set QUOTED_IDENTIFIER on; print @deadlock;' такое не прокатывает, это из за print что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 21:57 |
|
|
start [/forum/topic.php?fid=46&msg=40036462&tid=1685205]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 294ms |
total: | 539ms |
0 / 0 |