Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, установлен Sql Server 2916 sp 2. При вставке в heap таблицу table (id int), данные логируются полностью, несмотря на хинт tablock и включенный режим bulk logged. Можно ли это исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 22:51 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Человеческий, ознакомьтесь https://docs.microsoft.com/ru-ru/sql/relational-databases/import-export/prerequisites-for-minimal-logging-in-bulk-import?view=sql-server-2017 https://blogs.msdn.microsoft.com/sql_server_team/sql-server-2016-minimal-logging-and-impact-of-the-batchsize-in-bulk-load-operations/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 23:36 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
ЧеловеческийЗдравствуйте, установлен Sql Server 2916 sp 2. При вставке в heap таблицу table (id int), данные логируются полностью, несмотря на хинт tablock и включенный режим bulk logged. Можно ли это исправить? репро давайте. вот мой 2016 SP2 и мое репро, прескрасно минимально логируется вставка int в кучу с tablock в модели bulk_logged: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. operation context (No column name) LOP_COUNT_DELTA LCX_CLUSTERED 33 LOP_MODIFY_ROW LCX_PFS 26 LOP_SET_FREE_SPACE LCX_PFS 17 LOP_SET_BITS LCX_GAM 9 LOP_SET_BITS LCX_IAM 9 LOP_ROOT_CHANGE LCX_CLUSTERED 5 LOP_COMMIT_XACT LCX_NULL 5 LOP_LOCK_XACT LCX_NULL 5 LOP_BEGIN_XACT LCX_NULL 5 LOP_MODIFY_ROW LCX_BOOT_PAGE 4 LOP_SET_BITS LCX_DIFF_MAP 4 LOP_HOBT_DELTA LCX_NULL 4 LOP_SET_BITS LCX_ML_MAP 3 LOP_END_CKPT LCX_NULL 2 LOP_XACT_CKPT LCX_BOOT_PAGE_CKPT 2 LOP_FORMAT_PAGE LCX_HEAP 1 LOP_SHRINK_NOOP LCX_DIAGNOSTICS 1 LOP_CREATE_ALLOCCHAIN LCX_NULL 1 LOP_FORMAT_PAGE LCX_IAM 1 LOP_BEGIN_CKPT LCX_NULL 1 как видите, в лог вообще не ушло никаких операций в контексте кучи. все, что меняется, это PFS, GAM, IAM и маленько системных таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 10:06 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Данные в heap есть? Вот ознакомьтесь со статьей здесь приведены различные варианты и указана возможность минимального протоколирования http://www.sqlservercentral.com/articles/Administration/100856/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 10:41 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Androgen1985 Данные в heap есть? Вот ознакомьтесь со статьей здесь приведены различные варианты и указана возможность минимального протоколирования вы сами-то ознакомились с содержимым своей же ссылки? хоть есть, хоть нет данных, это же КУЧА. все новые данные пойдут на новые же стрницы. ну сделайте в моем репро предварительную вставку в кучу, чтобы не была пустой. ничего не поменяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 10:49 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Yasha123, Если в вашем примере закомментировать подстроку "-- cross join sys.all_columns a2" у меня логируется полностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 20:00 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
ЧеловеческийYasha123, Если в вашем примере закомментировать подстроку "-- cross join sys.all_columns a2" у меня логируется полностью. конкретно сколько строк(страниц) вы вставляете? 100 строк/1 страницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2018, 21:19 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Yasha123, 9542 строки Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: sql 1. 2. LOP_INSERT_ROWS LCX_HEAP 9542 LOP_SET_FREE_SPACE LCX_PFS 61 LOP_BEGIN_XACT LCX_NULL 24 LOP_COMMIT_XACT LCX_NULL 24 LOP_LOCK_XACT LCX_NULL 23 LOP_MODIFY_ROW LCX_PFS 22 LOP_HOBT_DELTA LCX_NULL 19 LOP_FORMAT_PAGE LCX_HEAP 16 LOP_INSYSXACT LCX_CLUSTERED 12 LOP_INSERT_ROWS LCX_CLUSTERED 11 LOP_SET_BITS LCX_DIFF_MAP 11 LOP_INSERT_ROWS LCX_INDEX_LEAF 6 LOP_MODIFY_HEADER LCX_HEAP 4 LOP_INSYSXACT LCX_INDEX_INTERIOR 4 LOP_SHRINK_NOOP LCX_NULL 3 LOP_MODIFY_ROW LCX_CLUSTERED 3 LOP_SET_BITS LCX_IAM 3 LOP_ROOT_CHANGE LCX_CLUSTERED 3 LOP_SET_BITS LCX_GAM 3 LOP_FORMAT_PAGE LCX_CLUSTERED 2 LOP_MODIFY_ROW LCX_BOOT_PAGE_CKPT 2 LOP_DELETE_SPLIT LCX_CLUSTERED 2 LOP_INSERT_ROWS LCX_INDEX_INTERIOR 2 LOP_PREP_XACT LCX_NULL 1 LOP_END_CKPT LCX_NULL 1 LOP_CREATE_ALLOCCHAIN LCX_NULL 1 LOP_FORMAT_PAGE LCX_IAM 1 LOP_FILE_HDR_MODIFY LCX_FILE_HEADER 1 LOP_XACT_CKPT LCX_BOOT_PAGE_CKPT 1 LOP_MODIFY_COLUMNS LCX_CLUSTERED 1 LOP_BEGIN_CKPT LCX_NULL 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 15:10 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Человеческий, значит, 16 страниц это тоже пшик, а не балк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 17:43 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. LOP_MODIFY_ROW LCX_PFS 30 LOP_SET_FREE_SPACE LCX_PFS 16 LOP_SET_BITS LCX_DIFF_MAP 13 LOP_INSYSXACT LCX_CLUSTERED 12 LOP_INSERT_ROWS LCX_CLUSTERED 11 LOP_SET_BITS LCX_GAM 10 LOP_SET_BITS LCX_IAM 10 LOP_COMMIT_XACT LCX_NULL 9 LOP_BEGIN_XACT LCX_NULL 9 LOP_LOCK_XACT LCX_NULL 8 LOP_HOBT_DELTA LCX_NULL 6 LOP_INSERT_ROWS LCX_INDEX_LEAF 6 LOP_ROOT_CHANGE LCX_CLUSTERED 5 LOP_MODIFY_HEADER LCX_HEAP 4 LOP_INSYSXACT LCX_INDEX_INTERIOR 4 LOP_SHRINK_NOOP LCX_NULL 3 LOP_MODIFY_ROW LCX_CLUSTERED 3 LOP_SET_BITS LCX_ML_MAP 3 LOP_FORMAT_PAGE LCX_CLUSTERED 2 LOP_MODIFY_ROW LCX_BOOT_PAGE_CKPT 2 LOP_DELETE_SPLIT LCX_CLUSTERED 2 LOP_INSERT_ROWS LCX_INDEX_INTERIOR 2 LOP_PREP_XACT LCX_NULL 1 LOP_END_CKPT LCX_NULL 1 LOP_CREATE_ALLOCCHAIN LCX_NULL 1 LOP_FORMAT_PAGE LCX_IAM 1 LOP_FILE_HDR_MODIFY LCX_FILE_HEADER 1 LOP_BEGIN_CKPT LCX_NULL 1 LOP_FORMAT_PAGE LCX_HEAP 1 LOP_MODIFY_COLUMNS LCX_CLUSTERED 1 LOP_XACT_CKPT LCX_BOOT_PAGE_CKPT 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 17:54 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Человеческий Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. LOP_MODIFY_ROW LCX_PFS 30 LOP_SET_FREE_SPACE LCX_PFS 16 LOP_SET_BITS LCX_DIFF_MAP 13 LOP_INSYSXACT LCX_CLUSTERED 12 LOP_INSERT_ROWS LCX_CLUSTERED 11 LOP_SET_BITS LCX_GAM 10 LOP_SET_BITS LCX_IAM 10 LOP_COMMIT_XACT LCX_NULL 9 LOP_BEGIN_XACT LCX_NULL 9 LOP_LOCK_XACT LCX_NULL 8 LOP_HOBT_DELTA LCX_NULL 6 LOP_INSERT_ROWS LCX_INDEX_LEAF 6 LOP_ROOT_CHANGE LCX_CLUSTERED 5 LOP_MODIFY_HEADER LCX_HEAP 4 LOP_INSYSXACT LCX_INDEX_INTERIOR 4 LOP_SHRINK_NOOP LCX_NULL 3 LOP_MODIFY_ROW LCX_CLUSTERED 3 LOP_SET_BITS LCX_ML_MAP 3 LOP_FORMAT_PAGE LCX_CLUSTERED 2 LOP_MODIFY_ROW LCX_BOOT_PAGE_CKPT 2 LOP_DELETE_SPLIT LCX_CLUSTERED 2 LOP_INSERT_ROWS LCX_INDEX_INTERIOR 2 LOP_PREP_XACT LCX_NULL 1 LOP_END_CKPT LCX_NULL 1 LOP_CREATE_ALLOCCHAIN LCX_NULL 1 LOP_FORMAT_PAGE LCX_IAM 1 LOP_FILE_HDR_MODIFY LCX_FILE_HEADER 1 LOP_BEGIN_CKPT LCX_NULL 1 LOP_FORMAT_PAGE LCX_HEAP 1 LOP_MODIFY_COLUMNS LCX_CLUSTERED 1 LOP_XACT_CKPT LCX_BOOT_PAGE_CKPT 1 и что? вы не строки считайте, а страницы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 18:16 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
пардон, все те же 16 страниц. Наверное, товарищи оценили как и я, читая по диагонали, т. е. видимо код сервера не оценивает реально вставляемое, а делает оценку максимальной возможной заполненности, исходя из метаданных таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 18:30 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
ЧеловеческийYasha123, Если в вашем примере закомментировать подстроку "-- cross join sys.all_columns a2" у меня логируется полностью. Ну что Вы с Анной спорите. Ее не переубедить. Делаете проще - файл базы на диск C, файл журнала на диск D. Создаете таблицу с кластерным индексом, вставляете из другой плоской таблицы строки, замеряете "fsutil fsinfo statistics c:" и "fsutil fsinfo statistics d:" до операции и после операции. Проверяете UserFileWriteBytes. Далее создаете таблицу-heap и из той же таблицы вставляете такое же количество строк. И аналогично замеряете до и после операции. По количеству байт, записанных на диск D, смотрите, сколько реально windows записала в файл журнала транзакций. И думаете дальше. P.S. Таки логично при этом отключить индексацию, антивирус и прочее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 20:17 |
|
||
|
Условие для минимального логирования?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP... дарагуля, ты за мной разве что в туалет не сбегал, угомонись уже, неси свой бред там, где меня нет. заранее спасибо --- Человеческий, подытожим. для минимального логирования есть еще и некий "объемный" порог, в документации вроде нигде не упоминается, но это логично, что он есть. и перед вставкой ее предполагаемый объем высчитывают как число строк * макс. длину строки для данной таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 21:07 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39707249&tid=1689060]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 397ms |

| 0 / 0 |
