Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.10.2018, 13:40
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#18+
Добрый день. Есть две таблички: Код: sql 1. 2. 3. Они полностью одинаковые. Имеют поле, data1 c датой и временем. В таблицу table1 постоянно идет вставка. А в таблицу 2 надо перенести данные до определенной даты, затем удалеить перенесенные данные из таблицы table1 Вот такой механизм ведь не гарантирует что в table1 не вставятся новые данные во время переноса: Код: sql 1. 2. 3. 4. И получится, если они вставились во время переноса, они не перенесутся и удалятся безвозвратно. Подскажите пожалуйста как реализовать гарантированный перенос данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.10.2018, 13:42
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#18+
data1 втавляться может любая, в том числе меньше чем '20181020 00:00'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.10.2018, 13:46
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#18+
ssms, Output не предлагать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.10.2018, 13:48
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#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:51
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.10.2018, 17:06
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#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:07
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#18+
А селект FOR UPDATE тут никак првязать нельзя? ... хотя он для другого наверное. Строки-то новые могут появиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.10.2018, 17:22
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#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) ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.10.2018, 13:41
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#18+
ssmsИ получится, если они вставились во время переноса, они не перенесутся и удалятся безвозвратно. Они не удалятся если транзакция имеет правильный уровень изоляции, запрещающий фантомные чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.10.2018, 18:06
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#18+
ssmsВот такой механизм ведь не гарантирует что в table1 не вставятся новые данные во время переноса: А возможно просто заблокировать table1 для вставки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2018, 13:33
|
|||
|---|---|---|---|
как в транзакции перенести данные без потерь? |
|||
|
#18+
ssms, жесткий способ, set xact_abort on, set transaction level serializable, SELECT * FROM table1 with (tablockx) мягкий способ, insert + output ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2018, 13:57
|
|||
|---|---|---|---|
как в транзакции перенести данные без потерь? |
|||
|
#18+
WarAntset transaction level serializable, SELECT * FROM table1 with (tablockx)Нужно еще сервер в однопользовательском режиме запустить, иначе tablockx не сработает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2018, 14:08
|
|||
|---|---|---|---|
|
|||
как в транзакции перенести данные без потерь? |
|||
|
#18+
Достаточно Код: sql 1. Если подходящего индекса по дате нет, сервер сам заблокирует всю таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1688903]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 394ms |

| 0 / 0 |
