Настройка квот для хранилища кэша TokenAndPermUserStore в SQL Server 2005 с пакетом обновления 3

Переводы статьи Переводы статьи
Закрыть Закрыть
Код статьи: 959823 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Введение эта ссылка может указывать на содержимое полностью или частично на английском языке

В Microsoft SQL Server 2005 могут возникнуть проблемы с производительностью и ЦП может увеличиться, когда размер хранилища кэша TokenAndPermUserStore возрастает до нескольких сотен мегабайт. Для решения этих проблем, SQL Server 2005 с пакетом обновления 3 (SP2) позволяет настраивать квота хранилища кэша TokenAndPermUserStore.

Квоты определяет пороговое значение для числа элементов в кэш хранилища. Как добавить новый элемент, который превышает квоту, перемещение системного времени вручную выполняется, уменьшает затраты на каждой записи в хранилище, а также тех операций, затратами достигает нуля, освобождаются.

Вы можете контролировать число записей, удаленные в хранилище кэша во время перемещения вручную часов. Для этого запроса sys.dm_os_memory_cache_clock_hands динамических представлений управления.

Дополнительная информация

Проблемы с производительностью с текущими параметрами кэша TokenAndPermUserStore хранения

Хранилища кэша TokenAndPermUserStore не масштабировать и число записей в кэше хранения увеличивается. По умолчанию размер хранилища кэша TokenAndPermUserStore ограничено только объемом доступной оперативной памяти. Если хранилища кэша слишком велик, достижении предела памяти SQL Server, доступ к хранилищу данных кэша становится узким местом производительности. Чтобы ограничить количество записей в кэше TokenAndPermUserStore хранилище, флаг трассировки 4618 и флага трассировки 4610 были введены в SQL Server 2005 с пакетом обновления 2 (SP2).

При использовании флага трассировки 4618 количество записей в кэше хранилища ограничена 1024. При использовании флага трассировки 4618 вместе с флагом трассировки 4610 количество записей в кэше хранилища ограничена 8192. Когда этот предел достигнут, SQL Server 2005 удаляет некоторые записи из кэша хранилища TokenAndPermUserStore.

Однако для некоторых рабочих нагрузок ограничения хранилища кэша в 1024 или 8192 записей может оказаться является оптимальным решением. Это обусловлено тем, что флаг трассировки 4618 заставляет SQL Server для преждевременно очистки TokenAndPermUserStore хранения кэша, даже в том случае, если не возникают проблемы с производительностью. Кроме того дополнительные издержки возникает на сервере SQL Server преждевременно очищает кэш хранилища TokenAndPermUserStore. Это дополнительные издержки возникает по одной из следующих причин:
  • SQL Server необходимо повторить заполнение хранилища кэша чаще.
  • SQL Server принудительно выполняется повторное считывание метаданных разрешений с диска и пересчет проверки разрешений, которые могут кэшироваться.

Новый флаг трассировки в SQL Server 2005 с пакетом обновления 3

Существенный:Этот раздел, метод или задачу включены действия по инструкции по изменению реестра. Однако, серьезные проблемы могут возникнуть в случае некорректного изменения реестра.. Поэтому при выполнении этих действий рекомендуется строго соблюдать инструкции.. Чтобы обеспечить дополнительную защиту, создайте резервную копию реестра.. В этом случае при возникновении неполадок реестр можно будет восстановить.. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт::
322756Создание резервных копий и восстановление реестра Windows
SQL Server 2005 с пакетом обновления 3 представляет новый механизм настройки квота хранилища кэша TokenAndPermUserStore, зависит от текущей рабочей нагрузки. Чтобы настроить квота хранилища кэша TokenAndPermUserStore, выполните следующие действия.
  1. Включите флаг трассировки 4621.

    Чтобы включить флаг трассировки 4621, запуститеDBCC TRACEON (4621, -1)оператор.

    Чтобы отключить этот флаг трассировки, запуститеDBCC TRACEOFF (4621, -1)оператор.

    Можно также включить флаг трассировки 4621 когда SQL Server запускается. Выполните следующие действия::
    1. Откройте диспетчер конфигурации SQL Server.
    2. затем –Службы SQL Server 2005, а затем дважды щелкните значокSQL Server)<instancename></instancename>).
    3. В диалоговом окнеSQL Server)<instancename></instancename>) Свойствадиалоговое окно, выберитевкладка «Дополнительно».TAB:.
    4. в менювкладка «Дополнительно».tab, add the following text at the end of the existing string in theПараметры запускаполе:
      -T4621
    5. затем –Ok..
    Примечание.To verify that the trace flag is enabled, run theDBCC TRACESTATUS (-1)оператор.
  2. Add the TokenPermQuota registry entry to customize the quota. Выполните следующие действия::
    1. затем –START ::затем –ВыполнитьTYPE :Программы Regedt32и выберите командуOk..
    2. In Registry Editor, locate the following registry subkey if you are running 32-bit versions of SQL Server 2005 on 32-bit versions of Windows operating systems, or if you are running 64-bit versions of SQL Server 2005:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<mssql.x>\MSSQLServer</mssql.x>
      If you are running 32-bit version of SQL Server 2005 on x64 versions of Windows operating systems, locate the following registry subkey:
      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\<mssql.x>\MSSQLServer</mssql.x>
      Примечание.<mssql.x></mssql.x>is the instance of SQL Server 2005 for which the trace flag is enabled.
    3. Under the MSSQLServer registry subkey, add a registry entry that has the following properties:
      • ИМЯ: TokenPermQuota
      • TYPE :: DWORD
      • Значение::<quotasize in="" hex=""></quotasize>

        Примечание.A good starting value for the quota is 4,096. To set the quota of 4,096 for the TokenAndPermUserStore cache store, set the value of the TokenPermQuota registry entry to 00001000.
    4. Закройте редактор реестра..
Примечание.If the instance of SQL Server is a failover cluster instance, you must add the TokenPermQuota registry entry on the active node that owns the SQL Server resource.

How to determine the custom value for the quota

You can determine the custom value for the quota by using the following formula:
Quota = 1,024 * 2 * (<number of="" distinct="" logins=""></number>+<total number="" of="" users="" in="" each="" database=""></total>)
For example, an instance of SQL Server 2005 has 3,000 distinct logins. All these logins connect to a single database. In this case, the quota value is 1,024 * 2 * (3,000 + 3,000) = 12,288,000.

Примечание.You cannot enable trace flag 4621 together with trace flag 4618. When trace flag 4621 and trace flag 4618 are enabled together, trace flag 4618 takes precedence. Trace flag 4621 is ignored. You can enable trace flag 4621 together with trace flag 4610. Trace flag 4610 increases the size of the hash table that stores the cache entries by a factor of 8.

If you enable trace flag 4610, you substitute 8,192 for 1,024 in the formula. Therefore, the formula is the following:
Quota = 8,192 * 2 * (<number of="" distinct="" logins=""></number>+<total number="" of="" users="" in="" each="" database=""></total>)
Примечание.When you determine the number of logins and users, count only active logins and users. If you have an administrative login account that is rarely used, you do not have to count the administrative login in the formula.

SQL Server re-reads the registry entry every time that you enable trace flag 4621. To interactively customize the quota, follow these steps:
  1. Modify the registry entry to the new value.
  2. ЗапуститьDBCC TRACEOFF(4621, -1)оператор.
  3. ЗапуститьDBCC TRACEON(4621, -1)оператор.
  4. ЗапуститьDBCC FREESYSTEMCACHE('TokenAndPermUserStore')оператор.

Ссылки

For more information about how to obtain SQL Server 2005 SP3, click the following article number to view the article in the Microsoft Knowledge Base:
913089Получение последнего пакета обновления для SQL Server 2005
Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
933564FIX: A gradual increase in memory consumption for the USERSTORE_TOKENPERM cache store occurs in SQL Server 2005
Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
927396Запросы занять больше времени для завершения работы при расширении размер хранилища кэша TokenAndPermUserStore в SQL Server 2005
Для получения дополнительных сведений о проблемах производительности запросов, связанных с кэшем большой безопасности посетите следующий веб-узел:
http://blogs.MSDN.com/psssql/Archive/2008/06/16/Query-Performance-issues-Associated-with-a-Large-sized-Security-Cache.aspx
Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования.

Свойства

Код статьи: 959823 - Последний отзыв: 29 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
Ключевые слова: 
kbnomt kbrapidpub kbexpertiseadvanced kbhowto kbinfo kbmt KB959823 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:959823

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com