Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server

  Все выпуски  

MS SQL Server - дело тонкое...


Информационный Канал Subscribe.Ru


#150<<  #151

СОДЕРЖАНИЕ

1.СОВЕТЫ
1.1.Счётчики производительности SQL Server и Windows (продолжение)
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Новые и обновлённые технические статьи Microsoft
2.3.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
4.ПОЛЕЗНОСТИ
4.1.Как в запросе обрабатывать данные предыдущей строки?
4.2.Утилиты экспорта/импорта SQL Server в XML

СОВЕТЫ

Счётчики производительности SQL Server и Windows

1.    Введение
2.    Анализ узких мест
3.    Счётчики
4.    Типы счётчиков
5.    Память
5.1. Поиск узких мест использования памяти Windows 2000
5.2. Наборы счётчиков мониторинга памяти
5.3. Системная таблица sysperfinfo
5.4. Диагностика всплесков отложенной записи

6. Процессор

SQL Server не имеет своих собственных счётчиков производительности процессора и рекомендации для счётчиков Windows 2000 полностью подходят для систем с SQL Server.

6.1. Поиск узких мест использования процессора Windows 2000

Следующие счетчики позволяют обнаружить узкие места в процессорных ресурсах Windows 2000:

Объект \ счетчик Рекомендуемое пороговое значение Комментарий Тип
Processor\% Processor Time
(% загруженности процессора)
85% Процентное отношение времени, которое процессор был занят выполнением операций для не простаивающих потоков (non-Idle thread). Эту величину можно рассматривать как долю времени, приходящегося на выполнение полезной работы. Каждый процессор может быть назначен простаивающему потоку, который потребляет непродуктивные циклы процессора, не используемые другими потоками.Позволяет находить процессы, которые наиболее сильно утилизируют процессор. Длительные превышения порога - повод для установки более быстрого процессора или для установки дополнительных процессоров. PERF_100NSEC_TIMER
Processor\ Interrupts/sec
(Прерываний/сек)
Более 2000 прерываний в секунду на процессор (зависит от типа процессора) Количество поступивших от устройств прерываний, которые обрабатывает процессор. Устройство вызывает прерывание процессора, когда оно завершает выполнение задания или когда оно требует вмешательства по каким-либо причинам. Нормальное выполнение потоков приостанавливается во время обработки прерываний. Прерывание может послужить причиной переключения процессора на обработку другого, имеющего более высокий приоритет потока. Прерывания часов (Clock interrupts) - наиболее частые и регулярные события, и являются фоном, на котором происходит обработка остальных прерываний. Значительное и продолжительное превышение этого порога без адекватной загрузки системных ресурсов, указывает на аппаратные проблемы. Найдите сетевой адаптер или плату дискового контроллера, порождающую большое количество прерываний. Вы можете установить дополнительный адаптер или плату дискового контроллера. PERF_COUNTER_COUNTER
System\Processor Queue Length
(Длина очереди процессора)
2 Текущая длина очереди процессора, измеряемая числом ожидающих потоков. Все процессоры используют одну общую очередь, в которой потоки ожидают получения циклов процессора. Этот счетчик не включает потоки, которые выполняются в настоящий момент. Длительное время существующая очередь длиной больше двух потоков обычно свидетельствует о перегруженности процессора. Этот счетчик отражает текущее значение, и не является средним значением по некоторому интервалу времени. PERF_COUNTER_RAWCOUNT
Server Work Queues\Queue Length
(Длина очереди)
4 Текущая длина рабочей очереди сервера для данного процессора. Если в течение длительного времени длина очереди больше 4, то это свидетельствует о перегруженности процессора. Этот счетчик представляет собой конкретное текущее значение, и не является средним значением по некоторому интервалу времени. PERF_COUNTER_RAWCOUNT

[В начало]

6.2. Набор счётчиков мониторинга процессоров

Для контроля производительности процессора Windows 2000, используйте следующий набор дополнительных к указанным выше счетчиков:

Объект \ счетчик Комментарий Тип
Process\% Privileged Time
(% работы в привилегированном режиме)
Процент времени работы процессора в привилегированном режиме, затраченного на обработку не простаивающих потоков (non-Idle threads). Обслуживающий уровень Windows NT (Service layer), исполняющие подпрограммы и ядро Windows NT работают в привилегированном режиме. Драйверы большинства устройств, за исключением графических адаптеров и принтеров, также работают в привилегированном режиме. В отличие от некоторых более ранних операционных систем, Windows NT использует разграничение процессов для защиты подсистем в дополнение к традиционным методам защиты с помощью пользовательского и привилегированного режима. Такое использование процессов подсистем обеспечивает дополнительную защиту. Таким образом, часть времени работы Windows NT по обслуживанию вашего приложения может быть отнесена на счет других процессов подсистем, в добавок ко времени работы системы в привилегированном режиме, затраченном на обработку вашего процесса. PERF_100NSEC_TIMER
Process\% Processor Time
(% загруженности процессора)
Процентное отношение времени процессора, истраченного всеми потоками для данного процесса на выполнение инструкций. Инструкция - это элементарная единица выполняемых компьютером действий, поток - это объект, который занят выполнением инструкций, а процесс - это объект, созданный во время запуска программы на выполнение. Код, выполняемый при обработке некоторых аппаратных прерываний, также может быть отнесен на счет данного процесса. PERF_100NSEC_TIMER
Process\% User Time
(% работы в пользовательском режиме)
Процент времени работы потоков данного процесса в пользовательском режиме. В пользовательском режиме работают приложения, а также подсистемы обеспечения среды (Win32, OS/2 и POSIX), графическая система, драйверы графических устройств, драйверы принтеров и диспетчер управления окнами. Выполняемый в пользовательском режиме код не может нарушить целостности исполняющей системы Windows NT, ядра и драйверов устройств. В отличие от некоторых более ранних операционных систем, Windows NT использует разграничение процессов для защиты подсистем в дополнение к традиционным методам защиты с помощью пользовательского и привилегированного режима. Такое использование процессов подсистем обеспечивает дополнительную защиту. Таким образом, часть времени работы Windows NT по обслуживанию вашего приложения может быть отнесена на счет других процессов подсистем, в добавок ко времени работы системы в привилегированном режиме, затраченном на обработку вашего процесса. PERF_100NSEC_TIMER
Process\Priority Base
(Базовый приоритет)
Текущий базовый приоритет данного процесса. Потоки внутри процесса могут повышать или понижать их собственный базовый приоритет относительно базового приоритета процесса. PERF_COUNTER_RAWCOUNT
Thread\% Privileged Time
(% работы в привилегированном режиме)
Процент времени, истраченного данным потоком на выполнение кода в привилегированном режиме. При обращении к системным службам обычно происходит переход к работе в привилегированном режиме для получения доступа к системным данным. Системные данные защищены от доступа со стороны потоков, выполняемых в пользовательском режиме. Обращения к системе могут быть явными или неявными, например, происходить в результате прерывания или обработки ошибки страницы. В отличие от некоторых более ранних операционных систем, Windows NT использует разграничение процессов для защиты подсистем в дополнение к традиционным методам защиты с помощью пользовательского и привилегированного режима. Такое использование процессов подсистем обеспечивает дополнительную защиту. Таким образом, часть времени работы Windows NT по обслуживанию вашего приложения может быть отнесена на счет других процессов подсистем, в добавок ко времени работы системы в привилегированном режиме, затраченном на обработку вашего процесса. PERF_100NSEC_TIMER
Thread\% Processor Time
(% загруженности процессора)
Процентное отношение времени процессора, истраченного данным потоком на выполнение инструкций. Инструкция - это элементарная единица выполняемых компьютером действий, поток - это объект, который занят выполнением инструкций. Код, выполняемый при обработке некоторых аппаратных прерываний, также может быть отнесен на счет данного потока. PERF_100NSEC_TIMER
Thread\% Processor Time
(% загруженности процессора)
Процентное отношение времени процессора, истраченного данным потоком на выполнение инструкций. Инструкция - это элементарная единица выполняемых компьютером действий, поток - это объект, который занят выполнением инструкций. Код, выполняемый при обработке некоторых аппаратных прерываний, также может быть отнесен на счет данного потока. PERF_100NSEC_TIMER
Thread\% User Time
% работы в пользовательском режиме
Процент времени, истраченного данным потоком на выполнение кода в пользовательском режиме. В пользовательском режиме работают приложения и подсистемы обеспечения среды (Win32, OS/2 и POSIX). Кроме того, Графическая система, драйверы графических устройств, драйверы принтеров и диспетчер управления окнами также выполняются в пользовательском режиме. Выполняемый в пользовательском режиме код не может нарушить целостности исполняющей системы Windows NT, ядра и драйверов устройств. В отличие от некоторых более ранних операционных систем, Windows NT использует разграничение процессов для защиты подсистем в дополнение к традиционным методам защиты с помощью пользовательского и привилегированного режима. Такое использование процессов подсистем обеспечивает дополнительную защиту. Таким образом, часть времени работы Windows NT по обслуживанию вашего приложения может быть отнесена на счет других процессов подсистем, в добавок ко времени работы системы в привилегированном режиме, затраченном на обработку вашего процесса. PERF_100NSEC_TIMER
Thread\Context Switches/sec
(Контекстных переключений/сек)
Частота переключений от одного потока к другому. Переключение потоков может происходить как внутри одного процесса, так и между различными процессами. Переключение потоков может быть вызвано либо тем, что один поток запрашивает информацию у другого потока, либо тем, что один поток вытесняется другим потоком, имеющим более высокий приоритет, когда этот поток с более высоким приоритетом оказывается готовым к выполнению. В отличие от некоторых более ранних операционных систем, Windows NT использует разграничение процессов для защиты подсистем в дополнение к традиционным методам защиты с помощью пользовательского и привилегированного режима. Такое использование процессов подсистем обеспечивает дополнительную защиту. Таким образом, часть времени работы Windows NT по обслуживанию вашего приложения может быть отнесена на счет других процессов подсистем, в добавок ко времени работы системы в привилегированном режиме, затраченном на обработку вашего процесса. Переключение на процесс подсистемы вызывает одно контекстное переключение для потока приложения, обратное переключение вызывает другое контекстное переключение для потока подсистемы. PERF_COUNTER_COUNTER
Thread\Priority Base
(Базовый приоритет)
Текущий базовый приоритет данного потока. Система может увеличить динамический приоритет потока относительно его базового значения, если поток обрабатывает вводимые пользователем данные, или понизить этот приоритет до его базового значения, если поток требует большого количества вычислений. PERF_COUNTER_RAWCOUNT
Thread\Priority Current
(Текущий приоритет)
Текущий динамический приоритет данного потока. Система может увеличить динамический приоритет потока, если поток обрабатывает вводимые пользователем данные, или понизить этот приоритет до его базового значения, если поток требует большого количества вычислений. PERF_COUNTER_RAWCOUNT
Thread\Thread State
(Состояние потока)
Отражает текущее состояние данного потока. Числовые значения этого показателя имеют следующий смысл:
0 - инициализирован (Initialized),
1 - готов (Ready),
2 - выполняется (Running),
3 - простаивает (Standby),
4 - завершен (Terminated),
5 - в ожидании (Wait),
6 - состояние транзита (Transition),
7 - состояние не известно.
Выполняющийся поток (2) использует процессор, простаивающий поток (3) собирается его использовать. Готовый поток (1) хочет использовать процессор, но не может это сделать, поскольку свободные процессоры отсутствуют. Поток в состоянии транзита (6) ожидает получения ресурса, например, может ожидать загрузки с диска страниц стека выполнения. Процесс в состоянии ожидания (5) не нуждается в процессоре, поскольку он ожидает завершения периферийной операции или освобождения ресурса.
PERF_COUNTER_RAWCOUNT

При мониторинге счётчиков производительности процессора следует учитывать, что в многопроцессорных системах могло быть задано соответствие приложений процессорам, когда выбранное приложение может полностью монополизировать один или несколько имеющихся процессоров. Если для повышения производительности MS SQL Server за счет других процессов требуется назначить ему отдельный процессор, выберите в диспетчере задач команду "Задать соответствие". Данный параметр доступен только в многопроцессорных системах. То же самое можно сделать в Enterprise Manager, в свойствах сервера. Там Вы можете указать число процессоров, которое может использовать SQL Server из числа имеющихся.
Изменение соответствия процессоров может повысить производительность путем уменьшения числа сбросов кэша процессора при перемещении потока от одного процессора к другому. Это может значительно повысить производительность SQL Server. Однако имейте в виду, что сопоставление SQL Server определенного процессора может не позволить потокам других программ переходить на менее занятый процессор. Также может потребоваться управления соответствием процессоров для прерываний, генерируемых дисковыми контроллерами или сетевыми платами. На компакт-диске Windows 2000 Resource Kit имеется средство, позволяющее управлять прерываниями таким способом.

ПРОДОЛЖЕНИЕ СЛЕДУЕТ

[В начало]

ССЫЛКИ НА СТАТЬИ

Статьи на русском языке

Объектно-ориентированная организация реляционных данных
Одной из наиболее актуальных проблем, существующих в области хранения данных, является проблема объединения свойств, присущих объектно-ориентированным программам и реляционным системам хранения данных, в рамках единой универсальной системы обработки и хранения информации. Обращает на себя степень единодушия в отношении желаемых возможностей такой системы ...
Процессно-ориентированное внедрение ERP-систем
В настоящее время практически все предприятия на территории нашей страны имеют ярко выраженную функциональную структуру управления. Такая организация управления базируется на тейлоровском принципе последовательного выполнения трудовых операций, т. е. трудовая задача делится на отдельные операции (задания, этапы), и каждый рабочий специализируется на выполнении одной операции...
AllFusion ERwin Data Modeler API – это проще, чем кажется
Обновленный программный интерфейс приложения (API) продукта AllFusion ERwin Data Modeler (ранее: ERwin) (версии 4.0 SP2 или более поздней) намного проще в использовании по сравнению со своим предшественником. В этой статье даются некоторые основные советы о начале работы с данным API, которые можно рассматривать как введение в "Справочное руководство API"....
Создание Web-приложения для базы данных "Каталог изображений" на основе технологии ASP
Целью данного материала является описать теорию и практику создания Web-приложения для базы данных "Каталог изображений" на основе технологии ASP...
База данных без BDE
Отношение прикладных программистов к системе разработки приложений Borland Delphi неоднозначно. Но все сходятся в одном: это система - профессиональный механизм, намного ускоряющий создание различных программ. Входящие в состав VCL компоненты доступа и отображения данных значительно упрощают разработку приложений для работы с БД, а возможности по работе с различными серверными и настольными СУБД, предоставляемые Borland Database Engine, многим кажутся уже чем-то само собой разумеющимся...

[В начало]

Новые и обновлённые технические статьи Microsoft

BUG: Linked Server Query Is Not Successful and Error Message 7377 Occurs
BUG: Unable to Change Identity Range of Publisher If You Use Auto Identity Range
FILE: New Syntax Available to Create Local Cubes
FIX: "Performance Monitor Shared Memory Setup Failed: -1" Error Message When You Start SQL Server
FIX: Enterprise Manager Returns Unexpected Error on Table or View
FIX: Pending Writeback May Cause Results That Are Not Accurate
FIX: Query on the sysmembers Virtual Table May Fail with a Stack Overflow
HOW TO: Troubleshoot Application Performance with SQL Server
HOWTO: Rebuild or Move MSDTC Used with a SQL Failover Cluster
HOWTO: Reinstall MS DTC for a Nonclustered Windows NT 4.0 Server
HOWTO: SQL Server 7 Distributed Query Using ATL OLEDB Consumer
INF: Cannot Apply Service Pack to Evaluation Edition
INF: How to Upgrade to SQL Server 2000 Retail Version After SQL Server 2000 Evaluation Edition Expires
INF: How to Upgrade Virtual Servers from SQL Server 2000 Enterprise Evaluation Edition to SQL Server 2000 Enterprise Edition
INF: New Naming Schema for Microsoft SQL Server Hotfix Packages
INF: Transact-SQL Debugger Limitations and Troubleshooting Tips for SQL Server 2000
MDAC Cliconfg.* Files Are Not Upgraded After You Install SQL Server 2000 SP3a
Post a Question to the Microsoft SQL Server Newsgroups

[В начало]

Англоязычные статьи

SQL Server Security: Security Admins
Brian Kelley
Every so often I'll see a question in the forums about restricting system administrator access to SQL Server. The topic specifically revolves around the BUILTIN\Administrators login, a Windows group that corresponds to the local Administrators group for that server. By default, the BUILTIN\Administrators login is added to SQL Server during the install and made a member of the sysadmin fixed server role. That means the administrators on the system have the ability to do whatever they want to within SQL Server

[В начало]

ФОРУМ SQL.RU

Самые популярные темы недели

Ваше мнение об упражнениях SELECT на http://sql.ipps.ru
Кто на чем пишет клиентов под SQL Server?
Как сделать, чтобы триггер запустился всего ОДИН раз за всю операцию
Резкая деградация производительности. Ваши комментарии мне очень нужны!!
Помогите пож. упала база!!!!
Как использовать файлы запросов в Transact-SQL
Identity или RAND() ? ;)
Запрос (нужна помощь).
как засунуть из клиента в параметр хп типа text больше 8000 символов
Не могу подключиться к SQL 2000 по NAMED PIPE c win98
Encrypt data by User defined functions SQL 2000
сильное увеличение времени на insert при увеличении количества записей в таблице
SQL server остановился и отказывается стартовать!
Как быстрее выполнить такую проверку? (рекрсия в составе объекта)
XSL в SQL Server 2000 - почему не работает?
Тест для мозгов и компьютеров
Ошибка в SQL "Invalid cursor state"
IDENTITY мешает insert ! Как побороть?
Ттипове формы отчётности в HTML формате.
Вопрос к экспертам
Error:Invalid at the top level of the document
Какие действия db_owner выполняет в контексте уч.зап. SQL?
Что делать?
Неверная передача параметра хранимой процедуры
Область доступа @@Verable
RAISERROR не генерит исключение в программе
POMOGITE POJALUYSTO
SELECT * FROM @VARIABLE
как при помощи selecta циклично выбрать данные
Помогите чайнику с Запросом
Динамические запросы
Организация фонового процесса
Список логинов, которые не использовались последний месяц
Тип репликации
Проблема с переносом БД SQL7.0 с одного сервера на другой используя Backup/Resto
Выделение кода из номера
null fk
Эксклюзивный коннект
Странная проблема
длиннaя трaнзaкция
Програмное создание логинов
Стоит ли создавать индекс
Error : 17832, Severity: 18, State: 0 Unable to read login packet
Джентльмены, как обновить данные в связанных таблицах используя ADO?
Помогите с запросом...плиз....
Три ошибки
Запрос на пересечение множеств
Виснет SQL Server7
SQL Server+WWW+Access?
Как реализовать пользовательскую транзакцию?
Linked Server from Stored procedure
f="", но ltrim(rtrim(f))<>"" почему???
Как проверить существует ли в базе таблица?
есть ли на русском sql server 2000?
Динамический запрос
Подскажите пожалуйста , люди добрые, можно ли в socket 478 втыкать socket 423?
Временные таблицы
Scope_identity не работает!
Не завершается StoredProcedure в QAnalyzer
Преобразование результатов запроса
первый @@Identity
Как "по-правильному" перетскивать БД "дискеткой"
Отображение иконок в Enterprise Manager 2000
Как вернуть bigint из расширенной процедуры?
Почему временную таблицу нельзя назвать #Tmp
MS SQL + NAT + Acces (.adp)
Backup database. Overwrite flag?
Небольшой вопросик по хп.
Суммирование строк или времени
MS SQL Service Manager
Список атрибутов
Bulk Insert Task: Магия пакета!!!

[В начало]

Вопросы остались без ответа

Глюк при вызове отчета Crystal Rpts. с графиком из VB 6.0
Перекодировка столбцов таблицы ...
Вопрос о логировании репликации
Chili!Soft ASP и Microsoft.Jet.OLEDB.4.0
AD+MSSQL2000
Разница межу Reinitialize Subscriber и Publisher Wins
Назначение прав...
DB-Library for VB3 & SQL2000
Помогите разобраться!
SOS!!!!!
Установить DTS отдельно
Миграция Image из FOR XML в OPENXML
Наступил на грабли с Linked Server
MS Project
SNMP SQL Server extension agent
Какую кодировку нужно поставить в MSSQL 2000 для 1С?
Merge репликация

[В начало]

ПОЛЕЗНОСТИ

Рассылка:  Вопросы и ответы по Microsoft SQL Server

Автор рассылки: Сергей Кошкин

Выпуск No. 19 от 2003-06-27
Вопрос : Есть ли какие-нибудь ограничения или неудобства связанные с использованием русского языка при именовании объектов базы данных?
Ответ

[В начало]

Утилиты экспорта/импорта SQL Server в XML

Утилиты командной строки ExportX и ImportX предназначены для слива данных из базы MSSQL2000 или MSSQL7.0 в xml-файл простой и понятной структуру, а также для загрузки данных из этого файла обратно в базу. В отличие от стандартного механизма бекапа, утилитки позволяют:

1. Оффлайновый перенос данных из MSSQL2000 в MSSQL7.0.
2. Оффлайновый перенос данных между базами с разными Collation.
3. Перенос данных из отдельных выбранных таблиц.
4. Понятный и простой формат dump-файла позволяет непосредственно просматривать и изменять данные внутри dump-файла любым xml-редактором.

Readme.txt с описанием прикладывается.

Это еще бэта-версия. Для производства действительно качественных и полезных утилит необходима обратная связь от пользователей с пожеланиями и багами.

Автор: Глеб Уфимцев

[В начало]


Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру Гладченко на адрес: mssqlhelp@pisem.net

sql.ru Описание рассылки

МИНИФОРМА
ПОДПИСКИ




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное