Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

По подразбиране Service Pack 1 за SQL Server 2014 и Service Pack 3 за SQL Server 2012 включват тази корекция и не трябва да добавите всички флагове за проследяване да разрешите корекцията. За да активирате корекцията след инсталиране на една от кумулативни актуализации в раздела "решение", трябва да стартирате Microsoft SQL Server чрез добавяне на флаг за проследяване 1236 стартиране параметри.

Симптоми

Да предположим, че изпълнявате екземпляр на Microsoft SQL Server 2014, SQL Server 2012, SQL Server 2008 и SQL Server 2008 R2 на компютър, който съдържа много процесори. Когато броят на заключване (ресурс = база данни) за определена база данни, надвишава определен праг, имате следните проблеми с производителността:

  • Повишени стойности се дължи на броя на LOCK_HASH Нишков поток.

    Забележка: Вижте раздела "Допълнителна информация" за информация как да наблюдава този Нишков поток.

  • Въпроси или операции, които изискват база данни locks отнеме много време да бъде завършена. Например можете да забележите следните закъснения изпълнение:

    • Влизания с SQL Server

    • Заявки за свързан сървър

    • sp_reset_connection

    • Транзакции

Забележка За да намерите списъка на заключване (ресурс = база данни) на дадена база данни, вижте раздела "Допълнителна информация". Гранична стойност зависи от околната среда.

Всеки нов сборна актуализация за SQL Server съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте най-новите сборни актуализации за SQL Server:


Информация за актуалната корекция
Поддържана актуална корекция се предлага от Microsoft. Тази актуална корекция обаче е предназначена да коригира само проблема, описан в тази статия. Прилагайте тази корекция само към системи, изпитващи този конкретен проблем.

Ако актуалната корекция е налична за изтегляне, има секция "Актуални корекции достъпни за теглене" в горната част на тази статия от базата знания. Ако тази секция не се появи, изпратете заявка за обслужване на клиенти на Microsoft и поддръжка, за да получите актуалната корекция.

Забележка: Ако възникнат допълнителни проблеми или проблеми, трябва да създадете отделна заявка за поддръжка. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към конкретната актуална корекция. За пълен списък на телефонните номера на Microsoft за обслужване на клиенти и поддръжка или да създадете отделна заявка за поддръжка посетете следния уеб сайт на Microsoft:

http://support.microsoft.com/contactus/?ws=supportЗабележка: Формулярът "Актуални Download наличен" показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език, това е защото актуалната корекция не е налична за този език.

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

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

Когато приложението прави връзка към SQL Server, първо установи контекста на базата данни. По подразбиране връзката ще се опита да получи заключване на базата данни в режим на SH. Заключване SH-база данни ще бъде освободена, когато връзката е спрян или контекст на базата данни е променена по време на експлоатационния живот на връзката. Ако имате много активни връзки, които използват същия контекст на база данни, можете да имате много заключване на базата данни ресурс за тази база данни.

На компютър, който има 16 или повече процесори само таблица обекти използват деление заключване схема. Обаче не са само заключване на базата данни. Следователно по-голям брой база данни се заключва, повече време отнема за SQL Server, за да получите заключване на базата данни. Повечето приложения възникват проблеми, причинени от този дизайн. Но веднага след като номер надвишава определен праг, допълнителна работа и време е необходимо да получи заключване. Въпреки че цената е само micro секунди за всеки допълнителен заключване, общото време бързо да увеличите защото заключване хеш кофи са защитени чрез Нишков поток. Това води до допълнителни цикли на Процесора и чака допълнителни работници, за да получите заключване.

Тази актуална корекция въвежда база данни за заключване на дялове когато флаг за проследяване T1236 е активирана при стартиране. Разделяне на база данни за заключване поддържа дълбочината на заключване на списъка управляеми всеки локален дял. Това значително оптимизира път за достъп, който се използва за получаване на заключване на базата данни .

Да наблюдава LOCK_HASH Нишков поток, можете да използвате следната заявка.SET NOCOUNT ONCREATE TABLE #spinlock_stats([CaptureTime] datetime,[name] nvarchar(512),[collisions] bigint,
[spins] bigint,[spins_per_collision] real,[sleep_time] bigint,[backoffs] int)
DECLARE @counter int = 1
WHILE @counter < 100
BEGIN
INSERT INTO #spinlock_stats SELECT GETDATE() as "CaptureTime" , * FROM sys.dm_os_spinlock_stats WHERE [name] = 'LOCK_HASH'
WAITFOR DELAY '00:00:05'
SET @counter +=1
END
SELECT * FROM #spinlock_stats ORDER BY [CaptureTime]
DROP TABLE #spinlock_stats
За повече информация за диагностика и разрешаване на спор Нишков поток на SQL сървър отидете на следния документ:

Диагностика и разрешаване на спор Нишков поток на SQL сървърЗабележка Въпреки че този документ е предназначена за SQL Server 2008 R2, информацията е продължават да се прилагат за SQL Server 2012.

Препратки

За повече информация относно флагове за проследяване в SQL Server 2012 посетете следния уеб сайт на TechNet:

Информация за флагове за проследяване в SQL Server 2012
За повече информация как да намерите броя на заключване на базата данни на потребител на базата данни използвайте следната заявка за изчисляване на тази стойност:select Resource_database_id, resource_type, request_mode, request_status, count (*) 'LockCount' from sys.dm_tran_locks
group by Resource_database_id, resource_type, request_mode, request_status


Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×