Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть две таблички: Код: sql 1. 2. 3. Они полностью одинаковые. Имеют поле, data1 c датой и временем. В таблицу table1 постоянно идет вставка. А в таблицу 2 надо перенести данные до определенной даты, затем удалеить перенесенные данные из таблицы table1 Вот такой механизм ведь не гарантирует что в table1 не вставятся новые данные во время переноса: Код: sql 1. 2. 3. 4. И получится, если они вставились во время переноса, они не перенесутся и удалятся безвозвратно. Подскажите пожалуйста как реализовать гарантированный перенос данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 13:40 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
data1 втавляться может любая, в том числе меньше чем '20181020 00:00'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 13:42 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
ssms, Output не предлагать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 13:46 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
ssms, https://docs.microsoft.com/ru-ru/sql/t-sql/queries/output-clause-transact-sql?view=sql-server-2017 Доступно, как минимум, с версии 2012 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 13:48 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 13:51 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
Щукина Аннаssms, https://docs.microsoft.com/ru-ru/sql/t-sql/queries/output-clause-transact-sql?view=sql-server-2017 Доступно, как минимум, с версии 2012 2008-й. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 17:06 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
А селект FOR UPDATE тут никак првязать нельзя? ... хотя он для другого наверное. Строки-то новые могут появиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 17:07 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
ssmsЩукина Аннаssms, https://docs.microsoft.com/ru-ru/sql/t-sql/queries/output-clause-transact-sql?view=sql-server-2017 Доступно, как минимум, с версии 2012 2008-й. :( Извиняюсь за ввод в заблуждение.... По ссылке же сказано: ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server (начиная с 2008) ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 17:22 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
ssmsИ получится, если они вставились во время переноса, они не перенесутся и удалятся безвозвратно. Они не удалятся если транзакция имеет правильный уровень изоляции, запрещающий фантомные чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 13:41 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
ssmsВот такой механизм ведь не гарантирует что в table1 не вставятся новые данные во время переноса: А возможно просто заблокировать table1 для вставки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 18:06 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
ssms, жесткий способ, set xact_abort on, set transaction level serializable, SELECT * FROM table1 with (tablockx) мягкий способ, insert + output ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 13:33 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
WarAntset transaction level serializable, SELECT * FROM table1 with (tablockx)Нужно еще сервер в однопользовательском режиме запустить, иначе tablockx не сработает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 13:57 |
|
||
|
как в транзакции перенести данные без потерь?
|
|||
|---|---|---|---|
|
#18+
Достаточно Код: sql 1. Если подходящего индекса по дате нет, сервер сам заблокирует всю таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 14:08 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39721580&tid=1688903]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 262ms |
| total: | 437ms |

| 0 / 0 |
