Технические требования знаковых средств отображения информации для инвалидов
ГОСТ Р 52131-2019
Скачать Действующий Печать
Все видео
Федеральное агентство по техническому регулированию и метрологии
Национальный
стандарт
Российской
ФедерацииГОСТ Р
52131-2019
Технические требования
Предисловие
- Разработан Федеральным государственным унитарным предприятием «Российский научно-технический центр информации по стандартизации, метрологии и оценке соответствия» (ФГУП «СТАНДАРТИНФОРМ»). Авторский коллектив: специалист в области стандартизации кандидат экономических наук А.А. Стреха, главный региональный технический эксперт в области формирования безбарьерной среды для лиц с ограничениями по зрению С.С. Сохранский, доц. М.А. Силкина, советники В.Б. Осиновская, кандидат экономических наук Д. В. Енин (Институт прикладных транспортных исследований), при участии технического эксперта А.И. Черепнова, технических экспертов в области невизуальной доступности А.В. Пивня и С.В. Цветковой, ведущих экспертов в области создания и обеспечения безбарьерной среды для людей с инвалидностью Д.Р. Горшко и Э.Н. Асылгараевой.
- Внесен техническим комитетом по стандартизации ТК 381 «Технические средства и услуги для инвалидов и других маломобильных групп населения».
- Утвержден и введен в действие приказом Федерального агентства по техническому регулированию и метрологии.
- ВЗАМЕН ГОСТ Р 52131—2003
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации». Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок – в ежемесячном информационном указателе «Национальные стандарты».
В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования – на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru).1. Область применения
Настоящий стандарт распространяется на визуальные и тактильно-визуальные знаковые средства отображения информации, использующие пиктограммы, знаки, буквы русского или латинского алфавита, а также надписи, выполненные рельефно-точечным шрифтом Брайля, являющиеся специализированными знаковыми средствами отображения информации для инвалидов, передвигающихся на креслах-колясках, инвалидов по зрению, инвалидов по слуху, а также для инвалидов других нозологий (далее – инвалидов).
Стандарт распространяется на специализированные визуальные и тактильно-визуальные знаковые средства отображения информации, которые должны обеспечивать:
- при входе в здание или сооружение информирование о доступности объекта и оказываемых на нем услуг для инвалидов;
- на коммуникационных путях внутри зданий и сооружений информирование о назначении отдельных помещений или функциональных зон, значимых для инвалидов, о рекомендуемых путях следования, если не все они доступны для инвалидов, а также об участках, не соответствующих требованиям нормативных документов по доступности зданий и сооружений, и путях их обхода;
- на пешеходных путях необходимое информирование инвалидов, передвигающихся на креслах-колясках, об участках пути, не соответствующих требованиям нормативных документов и не обеспечивающих возможность самостоятельного и безопасного передвижения, и путях их обхода;
- при посадке в автомобильный и городской электрический пассажирский транспорт (автобусы, троллейбусы, трамваи) информирование инвалидов на креслах-колясках о его доступности, а также о доступности для них конкретных входов;
- при нахождении в железнодорожных вагонах поездов дальнего следования, оборудованных с учетом потребностей инвалидов, а также на борту судов воздушного, морского и речного флота информирование о назначении отдельных помещений или функциональных зон.
Настоящий стандарт устанавливает общие требования к типам, формам, размерам, цветотональным решениям специализированных знаковых средств отображения информации, требования и рекомендации в части используемых символических изображений, требования в части их установки и размещения.
Требования настоящего стандарта не распространяются на визуальные и тактильно-визуальные информационные таблички и наклейки, тактильные схемы, а также на пиктограммы и другие символические изображения, используемые для различных целей, вне специализированных знаковых средств для инвалидов.
2. Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие документы:
- ГОСТ 24621 Пластмассы и эбонит. Определение твердости при вдавливании с помощью дюрометра (твердость по Шору)
- ГОСТ 27833 Средства отображения информации. Термины и определения
- ГОСТ Р 51671 Средства связи и информации технические общего пользования, доступные для инвалидов. Классификация. Требования доступности и безопасности
- ГОСТ Р 56832 Шрифт Брайля. Требования и размеры
- СП 59.13330 «СНиП 35-01-2001 Доступность зданий и сооружений для маломобильных групп населения»
Примечание — При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов и свода правил в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год. Если заменен ссылочный документ, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого документа с учетом всех внесенных в данную версию изменений. Если заменен ссылочный документ, на который дана датированная ссылка, то рекомендуется использовать версию этого документа с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный документ, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный документ отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.
3. Термины и определения
В настоящем стандарте применены термины по ГОСТ 27833, ГОСТ Р 51671, СП 59.13330, а также следующие термины с соответствующими определениями:
3.1 визуальное средство отображения информации: Средство, обеспечивающее отображение визуальной информации, воспринимаемой органами зрения человека.
Инвалид знак пластик с присоской ГОСТ
1 vmdebug virtuemartParseRoute $segments Var1:
Array ( [0] => khoztovary [1] => avto [2] => sluzhebno-informatsionnye-naklejki [3] => invalid-znak-plastik-s-prisoskoj-gost-detail )
2 vmdebug ParseRoute no view found yet Var1:
Array ( [0] => khoztovary [1] => avto [2] => sluzhebno-informatsionnye-naklejki [3] => invalid-znak-plastik-s-prisoskoj-gost-detail )
Var2:
Array ( [limitstart] => 0 )
Var3:
invalid-znak-plastik-s-prisoskoj-gost-detail
Var4:
sluzhebno-informatsionnye-naklejki
3 vmdebug View productdetails, using case !$helper->use_id Var1:
Array ( [limitstart] => 0 [view] => productdetails [virtuemart_product_id] => 958 [virtuemart_category_id] => 212 )
Var2:
Array ( [virtuemart_product_id] => 958 [virtuemart_category_id] => 212 )
Var3:
stdClass Object ( [view] => category [virtuemart_category_id] => 46 [virtuemart_product_id] => [virtuemart_manufacturer_id] => [virtuemart_vendor_id] => [component] => com_virtuemart )
Array ( )
4 vmdebug my vars from router Var1:
Array ( [limitstart] => 0 [view] => productdetails [virtuemart_product_id] => 958 [virtuemart_category_id] => 212 )
5 vmdebug vmTime: time to import plugins vmuserfield: 4. 50611114501953E-5
6 vmdebug Start used Ram 4M
7 vmdebug getVendorId normal shopper
8 vmdebug My Memory Limit in Bytes 268435456
9 vmdebug SSL enabled
10 vmdebug $app->isAdmin() Var1:
11 vmdebug exeSortSearchListQuery my $limitStart 0 $limit 3 q Var1:
SELECT `u`.*,`pr`.*,`l`.`product_name`,`rv`.`vote`, IFNULL(`u`.`name` COLLATE utf8mb4_unicode_ci, `pr`.`customer` COLLATE utf8_unicode_ci) AS customer FROM `ijtng_virtuemart_rating_reviews` AS `pr` INNER JOIN `ijtng_virtuemart_products_ru_ru` AS `l` ON `l`.`virtuemart_product_id` = `pr`.`virtuemart_product_id` LEFT JOIN `ijtng_virtuemart_rating_votes` AS `rv` on (`pr`.`virtuemart_rating_vote_id` IS NOT NULL AND `rv`.`virtuemart_rating_vote_id`=`pr`.`virtuemart_rating_vote_id` ) XOR (`pr`.`virtuemart_rating_vote_id` IS NULL AND (`rv`.`virtuemart_product_id`=`pr`.`virtuemart_product_id` and `rv`.`created_by`=`pr`. `created_by`) ) LEFT JOIN `ijtng_users` AS `u` ON `pr`.`created_by` = `u`.`id` WHERE `pr`.`virtuemart_product_id` = "958" ORDER BY created_on DESC
12 vmdebug isSuperVendor Not a vendor 0 0
13 vmdebug End used Ram 6M
14 vmdebug Peak memory peak 6M
15 vmdebug vmTime: «VirtuemartControllerProductdetails» Finished task : 0.0647549629211426
16 vmdebug exeSortSearchListQuery my $limitStart 0 $limit 30 q Var1:
SELECT SQL_CALC_FOUND_ROWS c.`virtuemart_category_id`, l.`category_description`, l.`category_name`, c.`ordering`, c.`published`, cx.`category_child_id`, cx.`category_parent_id`, c.`shared` FROM `ijtng_virtuemart_categories_ru_ru` l JOIN `ijtng_virtuemart_categories` AS c using (`virtuemart_category_id`) LEFT JOIN `ijtng_virtuemart_category_categories` AS cx ON l.`virtuemart_category_id` = cx.`category_child_id` WHERE c.`published` = 1 AND cx.`category_parent_id` = 46 AND (c.`virtuemart_vendor_id` = "1" OR c.`shared` = "1") AND l.`virtuemart_category_id` != 98 ORDER BY category_name ASC
17 vmdebug exeSortSearchListQuery my $limitStart 0 $limit 30 q Var1:
SELECT SQL_CALC_FOUND_ROWS c.`virtuemart_category_id`, l.`category_description`, l.`category_name`, c.`ordering`, c.`published`, cx.`category_child_id`, cx.`category_parent_id`, c.`shared` FROM `ijtng_virtuemart_categories_ru_ru` l JOIN `ijtng_virtuemart_categories` AS c using (`virtuemart_category_id`) LEFT JOIN `ijtng_virtuemart_category_categories` AS cx ON l.`virtuemart_category_id` = cx.`category_child_id` WHERE c.`published` = 1 AND cx.`category_parent_id` = 98 AND (c.`virtuemart_vendor_id` = "1" OR c.`shared` = "1") AND l.`virtuemart_category_id` != 202 ORDER BY category_name ASC
18 vmdebug exeSortSearchListQuery my $limitStart 0 $limit 30 q Var1:
SELECT SQL_CALC_FOUND_ROWS c.`virtuemart_category_id`, l. `category_description`, l.`category_name`, c.`ordering`, c.`published`, cx.`category_child_id`, cx.`category_parent_id`, c.`shared` FROM `ijtng_virtuemart_categories_ru_ru` l JOIN `ijtng_virtuemart_categories` AS c using (`virtuemart_category_id`) LEFT JOIN `ijtng_virtuemart_category_categories` AS cx ON l.`virtuemart_category_id` = cx.`category_child_id` WHERE c.`published` = 1 AND cx.`category_parent_id` = 202 AND (c.`virtuemart_vendor_id` = "1" OR c.`shared` = "1") AND l.`virtuemart_category_id` != 212 ORDER BY category_name ASC
19 vmdebug vmTime: Time consumed for shipment/payment plugins: 2.00271606445312E-5
Руководство по процессу очисткиGhost — SQL Server
Обратная связь Редактировать
Твиттер LinkedIn Фейсбук Эл. адрес
- Статья
- 2 минуты на чтение
Процесс очистки призраков — это однопоточный фоновый процесс, который удаляет записи со страниц, помеченных для удаления. В следующей статье представлен обзор этого процесса.
Призрачные записи
Записи, которые удаляются с конечного уровня индексной страницы, физически не удаляются со страницы — вместо этого запись помечается как «подлежащая удалению» или фантомная . Это означает, что строка остается на странице, но в заголовке строки изменяется бит, указывающий на то, что строка действительно является призраком. Это сделано для оптимизации производительности во время операции удаления. Призраки необходимы для блокировки на уровне строк, но они также необходимы для изоляции моментальных снимков, когда нам нужно поддерживать старые версии строк.
Задача очистки фантомных записей
Записи, помеченные для удаления или фантомные , удаляются фоновым процессом очистки фантомных записей. Этот фоновый процесс запускается через некоторое время после фиксации транзакции удаления и физически удаляет фантомные записи со страниц. Процесс очистки фантомов запускается автоматически с определенным интервалом (каждые 5 секунд для SQL Server 2012+, каждые 10 секунд для SQL Server 2008/2008R2) и проверяет, не были ли какие-либо страницы отмечены фантомными записями. Если находит, то идет и удаляет записи, помеченные на удаление, или дублировал , затрагивая не более 10 страниц при каждом выполнении.
Когда запись становится фантомной, база данных помечается как имеющая фантомные записи, и процесс очистки фантомных записей будет сканировать только эти базы данных. Процесс очистки фантома также пометит базу данных как «не имеющую фантомных записей» после удаления всех фантомных записей и пропустит эту базу данных при следующем запуске. Процесс также пропустит все базы данных, на которые он не может установить общую блокировку, и повторит попытку при следующем запуске.
Приведенный ниже запрос может определить, сколько фантомных записей существует в одной базе данных.
ВЫБЕРИТЕ сумму (количество_призрачных_записей) общее количество_призрачных_записей, имя_базы_данных (идентификатор_базы_данных) FROM sys.dm_db_index_physical_stats (NULL, NULL, NULL, NULL, 'SAMPLED') сгруппировать по database_id порядок по описанию total_ghost_records
Отключить фиктивную очистку
В высоконагруженных системах с большим количеством удалений процесс фантомной очистки может привести к снижению производительности из-за сохранения страниц в пуле буферов и генерации операций ввода-вывода. Таким образом, этот процесс можно отключить с помощью флага трассировки 661. Однако отключение процесса влияет на производительность.
Отключение процесса фантомной очистки может привести к чрезмерному увеличению базы данных и снижению производительности. Поскольку процесс очистки фантомных данных удаляет записи, помеченные как фантомные, отключение процесса оставит эти записи на странице, что предотвратит повторное использование этого пространства SQL Server. Это заставляет SQL Server вместо этого добавлять данные на новые страницы, что приводит к раздуванию файлов базы данных, а также может вызвать разделение страниц. Разделение страниц приводит к проблемам с производительностью при создании планов выполнения и при выполнении операций сканирования.
После отключения процесса очистки фантомных записей необходимо предпринять некоторые действия для удаления фантомных записей. Один из вариантов — выполнить перестроение индекса, при котором данные перемещаются по страницам. Другой вариант — вручную запустить sp_clean_db_free_space (для очистки всех файлов данных базы данных) или sp_clean_db_file_free_space (для очистки одного файла данных базы данных), что приведет к удалению фантомных записей.
Предупреждение
Обычно не рекомендуется отключать процесс очистки призраков. Это должно быть тщательно протестировано в контролируемой среде, прежде чем постоянно внедряться в производственную среду.
Следующие шаги
Отключение процесса очистки призраков
Удаление фантомных записей из одного файла базы данных
Удалить фантомные записи из всех файлов данных базы данных
Обратная связь
Отправить и просмотреть отзыв для
Этот продукт Эта страница
Просмотреть все отзывы о странице
Задача очистки призраков для баз данных SQL Server
В этой статье объясняется внутреннее устройство задачи очистки Ghost для баз данных SQL Server.
Введение
Каждая реляционная база данных состоит из фонового процесса и пользовательских процессов. внутренние процессы, такие как Checkpoint, Lazy Writer, Lock Monitor, System_Health_Monitor, Trace Queue Task и Ghost Очистка. В целом, мы можем разделить эти системные процессы на следующие категории.
- Процессы записи данных
- Ленивый писатель
- КОНТРОЛЬНО-ПРОПУСКНОЙ ПУНКТ
- ЖЕЛАЮЩИЙ ПИСАТЕЛЬ
- Регистрация процессов транзакций
- ЗАПИСЬ ЖУРНАЛА
- РЕЗЕРВНОЕ КОПИРОВАНИЕ ЖУРНАЛА
- Системные процессы
- МОНИТОР РЕСУРСОВ
- БЛОКИРОВКА МОНИТОРА
- УБОРКА ПРИЗРАКОВ
- ПРОСЛЕЖИВАНИЕ ЗАДАЧИ ОЧЕРЕДИ
- Процессы планирования работы
- Агент SQL-сервера
Я видел администраторов баз данных, имеющих представление о Checkpoint, процессе Lazy Writer, но они игнорируют важность фонового процесса Ghost Cleanup. Чтобы понять некоторые из этих фоновых процессов, обратитесь к статье — SQL Server CHECKPOINT, Lazy Writer, Eager Writer и Dirty Pages in SQL Server.
Вы видели задачу GHOST CLEANUP при проверке процессов с помощью sp_who2 или динамического вид управления sys.dm_exec_requests ? Вы можете идентифицировать фоновый процесс, используя столбец состояния вывод в качестве фона.
В этой статье рассматривается задача очистки призраков в базе данных SQL Server.
Необходимые условия
Было бы полезно, если бы у вас было базовое представление об индексах SQL Server — кластеризованных и некластеризованных индексах, чтобы понять задачу очистки фантомов в этой статье.
- Примечание: Вы всегда можете обратиться к индексам для понимания требований к индексам, архитектуры, использования
Что такое задача очистки призраков для базы данных SQL Server?
Очистка призраков — это фоновый процесс, который периодически запускается и очищает записи-фантомы. Следующий вопрос — Что такое призрачная запись?
Когда пользователи удаляют записи со страницы данных кластеризованного индекса или конечной страницы некластеризованного индекса, SQL Server не удаляет их физически. Вместо этого он помечает эти записи как Ghost Records. Поэтому удаленная строка остается на странице; однако заголовок строки указывает, что эта строка является строкой-призраком.
Это метод оптимизации производительности, при котором операция удаления выполняет логическое удаление и быстро завершается. Точно так же во время отката SQL Server должен отменить пометку записи как фантомной. Таким образом, устраняется необходимость повторной вставки этих удаленных записей для отката.
Как только транзакция удаления фиксируется и выполняется задача очистки призраков, она проверяет записи-призраки на странице и удаляет их физически. SQL Server также обновляет заголовок страницы PFS (свободное пространство страницы), чтобы пометить ее как страницу фантомной записи. Он также помечает базу данных как имеющую фантомные записи.
Задача очистки призраков выполняет следующую работу:
- Задача очистки призраков выполняется каждые 5 секунд (SQL Server 2012+).
- Он начинает проверять базы данных, помеченные как имеющие фантомные записи, и сканирует страницы PFS фантомной базы данных.
- Он физически удаляет строки фантомных записей из базы данных.
- Как только он удаляет все записи-призраки из базы данных, он помечает ее без записей-призраков. Таким образом, SQL-сервер пропускает базу данных при следующем запуске задачи очистки призрака
- Один запуск задачи GHOST CLEANUP очищает не более 10 страниц при каждом выполнении. Это для того, чтобы убедиться, что это не влияет на производительность системы. Если страниц несколько (более 10), он их обрабатывает при последующем выполнении задачи очистки призрака
- Если процесс очистки не может установить совместную блокировку базы данных с фантомными записями, он пропускает ее и проверяет снова во время следующего запуска
Важные примечания:
Обычно мы не видим задачу GHOST CLEANUP, если вы запрашиваете sp_who2 или DMV, потому что это быстрый процесс. Однако, для обширной базы данных с несколькими частыми удалениями вы можете наблюдать это в выводе сеанса.
В этой статье, чтобы зафиксировать задачу очистки призраков, мы создадим таблицу [GhostSession] и будем вставлять записи в таблицу, используя цикл WHILE, пока не будет захвачен фоновый процесс GHOST CLEANUP.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | CREATE TABLE [dbo].[GhostSession] ( [session_id] [smallint] NOT NULL, [start_time] [datetime] NOT NULL, [status] [nvarchar](30) NOT NULL,[command] [nvarchar](32) NOT NULL, [database_id] NOT 90] [smallint ) ON [PRIMARY] GO SET NOCOUNT ON; GO DECLARE @i INT SELECT @i = 0; ПОКА (@i < 1) НАЧАЛО ВСТАВИТЬ В [GhostSession]( [session_id],[start_time],[status], [command],[database_id]) SELECT [session_id],[start_time],[status], [command],[database_id] FROM sys. dm_exec_requests WHERE command LIKE ‘%ghost%’ SELECT @i = COUNT (*) FROM [GhostSession]
КОНЕЦ; GO Выберите * из [GhostSession] |
Как показано ниже, SQL Server инициировал задачу очистки призрака для базы данных с идентификатором 5.
Чтобы найти фантомные записи в базе данных, мы можем использовать DMV 9.0115 sys.dm_db_index_physical_stats согласно приведенный ниже сценарий. Этот сценарий группирует записи по идентификатору базы данных и упорядочивает их в порядке убывания общего количества фантомных записей.
- Примечание: DMV возвращает информацию о размере, фрагментации и фантомных записях указанной таблицы или базы данных. Ты может ссылаться на документы Microsoft для понимания вариантов использования DMV sys.dm_db_index_physical_stats
Выбрать SUM (Ghost_record_count) Total_ghost_records, db_name (database_id) как db от sys. dm_db_index_physical_stats (null, null, null, null, ‘sexpled’) Группа по database_id, null, null, ‘sampled’) Group по Database_id, null, null, ‘sexpled’) . |
Как показано ниже, база данных [AdventureWorks2017] имеет две фантомные записи во время работы DMV. У нас нет фантомные записи для оставшихся баз данных.
Практическая демонстрация фантомных записей для базы данных SQL Server
До тех пор, пока вы не разберетесь с задачей очистки призраков для SQL Server. В этом разделе будут рассмотрены внутренние страницы SQL Server для определения фантомных записей и процесса очистки. Для этого создадим базу данных SQL Server и вставим в нее образцы записей.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Создать базу данных TestDatabase Перейти Использовать TestDatabase Перейти CREATE TABLE [dbo]. [ViewGhostRecords] ( , [ID] Int PRIMARY0003 [Имя] VARCHAR (100) NULL, [Сумма] int null ) на [первичный] Создать некластерированный индекс [IX_AMOUNT] на [DBO]. ] ) declare @i int Set @i=0 While(@i<1000) BEGIN вставить в [dbo].[@ViewGhostRecords] значения i, ‘Призрачная запись demo’ ,100) набор @i= @i+1 КОНЕЦ |
Прежде чем двигаться дальше, мы включаем следующие два флага трассировки:
- Флаг трассировки 3604 для просмотра результатов DBCC в SSMS
- Флаг трассировки 661 для отключения задачи GHOST CLEANUP.
- Примечание. Не включайте флаги трассировки в производственной среде, если у вас нет особых требований
Трассировка DBCC (3604,-1) Перейти Трассировка DBCC (661,-1) Перейти |
- Примечание. Не отключайте GHOST CLEANUP в рабочем экземпляре. При необходимости проведите тестирование в контролируемой среде, прежде чем выполнять его для производства
- Примечание: Время выполнения этих хранимых процедур зависит от размера базы данных, файла данных, доступное свободное место, емкость диска. Вы должны запускать их в нерабочее время, чтобы избежать влияния на производительность
- Автор
- Последние сообщения
Далее удаляем записи из демонстрационной таблицы и просматриваем данные страницы с помощью DBCC PAGE. Вы также можете использовать DMV sys.dm_db_page_info в SQL Server 2019..
BEGIN TRAN ABCD Удалить из [dbo].[ViewGhostRecords] перейти DBCC PAGE(7,1,1,3) WITH TABLERESULTS перейти |
Пример вывода показывает записи на странице PFS с сообщением:
Вы можете запросить индекс DMV, чтобы проверить количество фантомных записей. Как показано ниже, на данный момент у него 2000 записей-призраков.
Мы также можем использовать функцию fn_dblog() для проверки содержимого журнала транзакций.
1 2 3 4 5 6 7 8 | DECLARE @TranID CHAR (20)
SELECT @TranID = [ID транзакции] FROM fn_dblog (null, null) WHERE [Имя транзакции]=’ABCD’
SELECT * FROM fn_dblog (null, null) WHERE [ID транзакции] = @TranID;
|
Вы видите операцию как LOP_DELETE_ROWS и контекст как LCX_MARK_AS_GHOST для удаленных строк в образце таблицы. на выходе.
Отключить фантомную очистку базы данных SQL Server
Отключение процесса очистки призраков может увеличить размер пула буферов, повысить количество запросов ввода-вывода. Это может увеличить базу данных размера, так как SQL Server не будет повторно использовать пространство, освобожденное путем удаления строк. SQL Server также должен добавить новые страницы для размещения новых вставок, которые увеличивают разбиение страниц и, в конечном итоге, проблемы с производительностью
Как мы видели ранее, вы можете использовать флаг трассировки 661 для отключения очистки от призраков. Однако не рекомендуется делать это до тех пор, пока у вас не появится конкретное требование и оно не будет достаточно хорошо протестировано для производственной версии.
Однако, если вы отключите задачу очистки фантомов, вы сможете вручную удалить фантомные записи, используя следующие сохраненные процедуры.
Использование хранимой процедуры sp_clean_db_free_space в базе данных SQL Server
Эта процедура очищает фантомные записи на страницах базы данных. Требуется два аргумента – имя базы данных (обязательно) и время задержки очистки в секундах (необязательно). Задержка очистки — это интервал, который вы можете указать для задержки между очисткой страниц. Значение по умолчанию — 0.
Синтаксис процедуры sp_clean_db_free_space:
sp_clean_db_free_space [ @dbname = ] ‘database_name’ [ , [ @cleaning_delay = ] ‘delay_in_seconds’ ] [;] |
Хранимая процедура sp_clean_db_file_free_space в базе данных SQL Server
Эта процедура может очистить фантомные записи в определенном файле данных для базы данных. Как видно из синтаксиса, это требуется дополнительный аргумент идентификатора файла данных (обязательный).
Синтаксис процедуры sp_clean_db_file_free_space:
SP_CLEAN_DB_FILE_FREE_SPACE [@DBNAME =] ‘DATABASE_NAME’ , [@fileid =] ‘file_number’ [ [@Cleaning_Delay =] ‘DELY_IN_SECONDS’] [; |
Заключение
В этой статье была рассмотрена задача очистки фантомов в базе данных SQL Server для удаления фантомных записей. Вы должны получить представление об этом полезном фоновом процессе. Если вы отключите его по определенной причине, используйте хранимую процедуру, чтобы очистить их вручную. Цель статьи — дать представление о задаче очистки призраков. Поэтому я снова повторяю, что никогда не отключаю задачу очистки призраков в SQL Server, если у вас нет особой причины для этого.
Раджендра Гупта
Привет! Я Раджендра Гупта, специалист по базам данных и архитектор, помогаю организациям быстро и эффективно внедрять решения Microsoft SQL Server, Azure, Couchbase, AWS, устранять связанные проблемы и настраивать производительность с более чем 14-летним опытом.