Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Вопросы и ответы по MS SQL Server" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
MS SQL Server - дело тонкое...
Информационный Канал Subscribe.Ru |
#254<< #255 |
СОДЕРЖАНИЕ
Основы I/O в SQL Server 2000 (продолжение)
По материалам статьи Bob Dorr:
SQL Server 2000 I/O Basics Требования I/O к ядру Microsoft SQL Server Подсистема I/O в SQL Server 2000 на уровне ядра запрограммирована на обеспечения всех обязательных требований по поддержке целостности данных. Если ваша система полностью адекватна требованиям, представленным в следующих далее разделах статьи, тогда SQL Server будет способен выполнять требования ACID для ваших баз данных. Долговременные носители
Любая операция в системе с SQL Server должна обеспечить предъявляемые к долговременным
носителям требования для журналов транзакций и файлов баз данных. Если в системе
используются кэширующие дисковые контроллеры без автономной батареи или возможно
дополнительное кэширование записываемого на диск, это не безопасно для экземпляра
SQL Server. Порядок записи
SQL Server разработан с учётом необходимости поддержки протокола WAL, который был
описан выше. В поддержке этого протокола основную роль играет среда исполнения,
которая должна поддерживать порядок записи. Предотвращение прерывания I/O (разбиение I/O)
В SQL Server блоки по 8 Кб должны использоваться как единый блок данных. Системы,
которые разбивают I/O, должны настраиваться таким образом, чтобы они не раскалывали
запросы I/O на блоки меньшего размера. Некоторые динамические диски и менеджеры
томов могут устанавливать размер блока, равный размеру кластера, которые могут
быть меньше 8 Кб или около 8 Кб. Такие системы могут разделить запрос SQL Server
на I/O между несколькими физическими компонентами системы. При этом, они могут
привести к появлению оборванных страниц, и этим нарушить порядок следования записи. Проблемы, ловушки и их примеры
Проблемы, ловушки и примеры, описанные в этой главе, являются проблемами, с которыми
сталкивалась служба поддержки Microsoft и сотрудники департамента разработки SQL
Server. Многие из них привели к изменениям в конфигурации и/или другим изменениям,
например, в программном обеспечении сервера, драйверах или на других уровнях, а
также к исправлениям вне SQL Server. Чтение устаревших данных и оборванная запись
Что такое чтение устаревших данных на аппаратном уровне и чем оно отличается от
оборванной записи?
Пример чтения устаревших данных
В этом примере мы рассмотрим возможную ситуация чтения устаревших данных. Вспомним,
что упреждающее чтение в SQL Server читает большими блоками, но при этом игнорируются
страницы, состояние которых неизвестно. После завершения чтения, буфер будет немедленно
возвращён в свободную область, и страница считается сохранённой к началу I/O запроса
на упреждающее чтение.
Флаг трассировки 818
Инструментарий, который включается флагом трассировки -T818, отслеживает операции
записи последних 2048 страниц. При успешном завершении I/O записи (верный ID страницы,
успешная передача байт, и соответствующие коды ошибок операционной системы), DBID,
ID страницы и LSN помещаются в закольцованном буфере. В случае возникновения отказа,
будет выставлена ошибка 823.
С появлением SQL Server 2000 Service Pack 4 (SP4), дизайн -T818 лучше использует
хэш-таблицы. Стало доступно более 2048 записей в хэш-памяти для 32-битных редакций,
а 64-битных даже ещё больше. Оборванные страницы Страницы базы данных SQL Server занимают 8 Кб, в то же время, типичный размер передаваемого на аппаратном уровне блока равен 4 Кб, если используются 512-байтные секторы диска. Когда Вы используете конфигурацию с RAID, незаполненные части могут проявиться, как оборванное чтение. Синхронизация чтения и записи может внести путаницу для разных дисков, так что могут быть извлечены частично старые и частично новые данные. Опять, ошибка состоит в том, что после записи, не все части кэша упреждающего чтения были до конца переданы на диск. Не правильный образ сохраняется в аппаратном кэше упреждающего чтения, пока он не будет извлечён принудительно. Пример сброса на диск аппаратного кэша
Есть операции, которые принудительно сбрасывают на диск аппаратный кэш. Сброс на
диск может разрешить ошибки, если они являются переходными.
Эти методы позволяют исправить проблему перехода за счёт повторения не правильных действий. Данная методика заставляет checkdb создать большое количество запросов на чтение, которые вынуждают прокручивать аппаратный кэш. Эта прокачка кэша выбирает из аппаратного кэша кэшируемые данные секторов и провоцирует правильное физическое чтение. В результате, будет получен правильный образ и SQL Server чудесным образом исправит проблему. ПРОДОЛЖЕНИЕ СЛЕДУЕТ Статьи на русском языке
Мониторинг и повышение эффективности информационных систем: подход Embarcadero
Detecting Stalled and Stuck I/O as it relates to SQL Server 2005 Самые популярные темы недели
Ваше мнение об упражнениях SELECT на http://sql.ipps.ru
OPENDATASOURCE аварийно прекращает процедуру - можно это отменить? Новый конкурс на GotDotNet.ru!
По традиции в мае GotDotNet.ru проводит новый конкурс. В прошлом мае это был конкурс
на знание Visual Basic.NET, главным призом в котором был автомобиль. В новом конкурсе
такого большого главного приза не будет, зато будет огромное число призов, но
поменьше. А именно - призами в конкурсе будут коробки Visual Studio .NET 2003
Professional Special Edition и Visual Basic .NET 2003 Standard Russian.
Обязательным условием для предоставленных на конкурс приложений является использованием ими платформы Microsoft .NET. При этом приложение может работать как локально, так и использовать сетевые соединения (p2p либо выделенный сервер, который должен быть в этом случае построен на технологии ASP.NET Web Services). Лицензия на приложение или библиотеку, предоставляемая на участие в конкурсе, может предоставляться как бесплатно, так и за деньги. В этом случае у приложения обязательно должна быть полнофункциональная демонстрационная копия с ограничением по времени работы. Для участия в конкурсе необходимо будет:
В конкурсе участвуют индивидуальные разработчики. Приз (лицензия на Visual Studio .NET 2003 Professional Special Edition и Visual Basic .NET 2003 Standard Russian) выдается участнику конкурса для личного использования. От каждого участника конкурса принимается не более 1 предложения в каждой категории. После размещения заявки на участие она выставляется на всеобщее обсуждение и оценку. Авторы предложений, набравшие наибольшее число баллов до 15 июня 2005 года получают приз за заявку. Участники, получившие приз, но не предоставившие приложение или компонент разработчика в указанный период времени, будут помещены на специальную страницу сайта ("доску позора"), откуда они будут убраны только после предоставления результата работы. По результатам конкурса авторы лучших работ будут дополнительно награждены призами, список которых будет определен позднее. Лучшие работы будут помещены на диск, который будет распространяться по подписчикам MSDN, а также распространяться вместе с журналами (список будет определен дополнительно). |
Вопросы, предложения, коментарии, замечания, критику и т.п. оставляйте Виталию Степаненко и Александру Гладченко в форуме: Обсуждение рассылки
|
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.winsoft.sqlhelpyouself |
Отписаться |
В избранное | ||