Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Добрый день всем. SQL 2012 SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера влияет ли ? Код: sql 1. 2. 3. 4. 5. 6. 7. будет ли т.е надо ли писать там (Nolock) ps про вред грязного чтения я знаю - но имеем что имеем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 11:16 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, запустите на ЛинкедСервере профайлер и посмотрите какие команды он получит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 12:44 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, если мне память не изменяет сессии linked серверов по умолчанию создают подключения с уровнем изоляции read uncommitted Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 13:57 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
StarikNavyГулин Федор, запустите на ЛинкедСервере профайлер и посмотрите какие команды он получит так запрос вроде на текущем выполняется - и показывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 14:23 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
felix_ffГулин Федор, если мне память не изменяет сессии linked серверов по умолчанию создают подключения с уровнем изоляции read uncommitted Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. запрос неправильный. для начала он не отфильтрует сессию на линкеде. т.е. вообще никак. сессию на линкеде на нем же и надо смотреть. потом, делаю вот такое: Код: sql 1. 2. 3. 4. 5. 6. 7. мне выдается OLE DB provider "SQLNCLI11" for linked server "COLL_a" returned message "The partner transaction manager has disabled its support for remote/network transactions.". Msg 7391, Level 16, State 2, Line 66 The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "COLL_a" was unable to begin a distributed transaction. о, да я не буду его даже запускать, мне distributed transactions не сдались. тем не менее, если теперь транзакцию не открывать, в данной сессии выставлен serializable, и он же будет в локальных сессиях. а на линкеде никакой не read uncommitted. смотрю, что он там блокирует, пока выполняется запрос, так это S на страницы читаемой таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 14:41 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, да согласен это входящие сессии для текущего сервера, но вам ничего не мешает завернуть запрос на удаленный сервер Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 14:42 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин ФедорStarikNavyГулин Федор, запустите на ЛинкедСервере профайлер и посмотрите какие команды он получит так запрос вроде на текущем выполняется - и показывается то, что показывается на локальном, не соответствует тому, что на линкеде. у меня выставился serializable сессии, все таблицы локального будут читаться в этой сессии на serializable. а что на линкеде это вы не видете с локального. но возможно, если запущен MSDTC и откроет вам distributaed transaction, то будут читаться и удаленные с тем же serializable. если вы в транзакции сделаете. пока что в коде не вижу begin tran, а значит, distributaed transaction не будет открыта. ------------- т.е. тот код, что сейчас нам представлен, локальной сессии выставил READ UNCOMMITTED, и больше ничего. на линкеде будет читаться с READ COMMITTED. а с хинтом да, будет вам READ UNCOMMITTED. у меня на линкеде одно лишь Sch-S на объект, если читаю с nolock ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 14:50 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
felix_ffГулин Федор, да согласен это входящие сессии для текущего сервера, но вам ничего не мешает завернуть запрос на удаленный сервер Код: sql 1. не, не катит, @@SPID это не от той сессии, где его выборка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 14:54 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
о боже. если локальной сессии не менять уровень изоляции, то действительно на линкеде читается с read uncommitted. но зато если у локальной сессии repeatable read или serializable, то на линкеде накладываются S-блокировки(страничные в моем случае) это где-то документировано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 15:18 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Yasha123о боже. если локальной сессии не менять уровень изоляции, то действительно на линкеде читается с read uncommitted. но зато если у локальной сессии repeatable read или serializable, то на линкеде накладываются S-блокировки(страничные в моем случае) это где-то документировано? честно никогда не проверял на стороне линкед сервера, но точно будет ругатся если снапшот пытаться включить, а он не разрешён ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 15:45 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
вот картинкой основной сервер с serializable и линкед, на котором больше никого и нет. и там мое чтение идет с read committed ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 16:48 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Yasha123, это с подключенным DTC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 17:03 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
нет, без. у меня тут типа нет собственной песочницы, это прод(prod) и "предпрод"(coll), оба с выключенным DTC. селектить в разумных пределах мне не жалко, но запускать DTC не буду. транзакцию не открываю, ибо нет DTC. просто меняю уровень изоляции локальной сессии и селектю с линкеда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 17:22 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Похоже, что на удалённом сервере выполнение идет с текущими настройками сеанса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 17:39 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовПохоже, что на удалённом сервере выполнение идет с текущими настройками сеанса. Меня частный случай интересует SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; при такой - будут передаваться настройки на линк-сервер ? просто не хочется писать везде with (Nolock) а блокировки по чтению точно будут если READ Commited уровень будет юзаться для доступа к линк-серверу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 18:03 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 18:04 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин ФедорВладислав КолосовПохоже, что на удалённом сервере выполнение идет с текущими настройками сеанса. Меня частный случай интересует SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; при такой - будут передаваться настройки на линк-сервер ? просто не хочется писать везде with (Nolock) а блокировки по чтению точно будут если READ Commited уровень будет юзаться для доступа к линк-серверу да, будет и на линкеде read uncommitted, и без транзакции тоже. вообще получается что да, настройка сессии на локальном распространяется и на линкед тоже. это у меня serializable передался в виде S на все страницы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 19:10 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
invm,Yasha123 СПС за ответы @invm запустил пример но выводы сделать не могу кроме того что резалтсеты одинаковые при разных уровнях кроме dtc_isolation_level set transaction isolation level read uncommitted; set transaction isolation level read committed; да и вот этой инструкцией я не пользовался никогда. Код: sql 1. читал конечно в теории что это такое пару слов если не сложно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 10:22 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, авторпару слов если не сложно третий участник контролирующий транзакцию. 4 слова :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 10:23 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, распределенные транзакции гарантирую целостность фиксации результата транзакции у всех участников транзакции. Реализуются механизмом распределённых транзакций операционной системы, а не SQL сервером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 12:41 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, я наверно не точно сформулировал меня интересует интерпретация (объяснение на пальцах) результов запроса от invm от него или от либо любого другого. ибо я вижу результаты запроса - 2 одинаковых резалтсета но не сильно понимаю какой вывод я должен был сделать. ps да у меня в запросе одни Select с линк-сервера и таблиц ( I/U/D нет ) т.е все просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 15:20 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин Федорменя интересует интерпретация (объяснение на пальцах) результов запроса от invm от него или от либо любого другого. уже выше написано. что на локальном, то и на линкеде. в смысле уровня изоляции. и уж конечно там не "2 одинаковых результата", там 2 разных, для двух разных уровней. но что там одинаково, так это TIL локальной сессии и удаленной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 15:37 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Yasha123, set transaction isolation level read uncommitted; dtc_isolation_level session_id transaction_id transaction_descriptor enlist_count is_user_transaction is_local is_enlisted is_bound open_transaction_count -1 70 469568556 0x0100000046000000 1 1 1 0 0 1 256 82 469587787 0x0800000052000000 1 1 1 0 0 1 dtc_isolation_level session_id transaction_id transaction_descriptor enlist_count is_user_transaction is_local is_enlisted is_bound open_transaction_count -1 70 469568556 0x0100000046000000 1 1 1 0 0 1 256 82 469587787 0x0800000052000000 1 1 1 0 0 1 256 84 469587787 0x0100000054000000 1 1 0 1 0 1 для 2-го set transaction isolation level read committed; dtc_isolation_level session_id transaction_id transaction_descriptor enlist_count is_user_transaction is_local is_enlisted is_bound open_transaction_count -1 70 469568556 0x0100000046000000 1 1 1 0 0 1 4096 82 469587864 0x0900000052000000 1 1 1 0 0 1 dtc_isolation_level session_id transaction_id transaction_descriptor enlist_count is_user_transaction is_local is_enlisted is_bound open_transaction_count -1 70 469568556 0x0100000046000000 1 1 1 0 0 1 4096 82 469587864 0x0900000052000000 1 1 1 0 0 1 4096 84 469587864 0x0200000054000000 1 1 0 1 0 1 объясните что отсюда следует - мне результаты увы ничего не говорят - вообще - я НЕ понимаю как их интерпертировать dtc_isolation_level - разный это я понимаю Ид isolation_level ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 15:52 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин Федор2 одинаковых резалтсетаОдинаковыми они быть не могут. Более корректный пример: Код: 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. Думаю, проблем с интерпретацией не возникнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 15:54 |
|
||
|
SET TRANSACTION ISOLATION LEVEL на таблицы линк.сервера
|
|||
|---|---|---|---|
|
#18+
Гулин ФедорYasha123, set transaction isolation level read uncommitted; dtc_isolation_level session_id transaction_id transaction_descriptor enlist_count is_user_transaction is_local is_enlisted is_bound open_transaction_count -1 70 469568556 0x0100000046000000 1 1 1 0 0 1 256 82 469587787 0x0800000052000000 1 1 1 0 0 1 dtc_isolation_level session_id transaction_id transaction_descriptor enlist_count is_user_transaction is_local is_enlisted is_bound open_transaction_count -1 70 469568556 0x0100000046000000 1 1 1 0 0 1 256 82 469587787 0x0800000052000000 1 1 1 0 0 1 256 84 469587787 0x0100000054000000 1 1 0 1 0 1 для 2-го set transaction isolation level read committed; dtc_isolation_level session_id transaction_id transaction_descriptor enlist_count is_user_transaction is_local is_enlisted is_bound open_transaction_count -1 70 469568556 0x0100000046000000 1 1 1 0 0 1 4096 82 469587864 0x0900000052000000 1 1 1 0 0 1 dtc_isolation_level session_id transaction_id transaction_descriptor enlist_count is_user_transaction is_local is_enlisted is_bound open_transaction_count -1 70 469568556 0x0100000046000000 1 1 1 0 0 1 4096 82 469587864 0x0900000052000000 1 1 1 0 0 1 4096 84 469587864 0x0200000054000000 1 1 0 1 0 1 объясните что отсюда следует - мне результаты увы ничего не говорят - вообще - я НЕ понимаю как их интерпертировать dtc_isolation_level - разный это я понимаю Ид isolation_level тут 2 набора данных. сперва invm вам показывает биты(dtc_isolation_level) для read uncommitted на локальном. потом на локальном и удаленном. они совпали теперь то же самое для read committed. снова совпали на локальном и удаленном. ну просто сказанное мною словами вам предложено лично увидеть, ничего нового тут нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 16:15 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39870174&tid=1687201]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 414ms |

| 0 / 0 |
