Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Symptomy

Podczas wykonywania operacji DDL, takich jak CREATE INDEX lub TRUNCATE TABLE w programie SQL Server 2016, operacje mogą być blokowane, jeśli w tej samej bazie danych działa inna transakcja DDL.

Rozwiązanie

Problem został po raz pierwszy rozwiązany w następującej zbiorczej aktualizacji programu SQL Server:

Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zalecamy pobranie i zainstalowanie najnowszych aktualizacji zbiorczych programu SQL Server:

Więcej informacji

Gdy kod DDL utworzy lub usunie tabelę lub indeks, musi ona wstawić lub usunąć identyfikator zestawu wierszy tabeli lub indeksu z sysrowsets, dla którego wymaga zablokowania wpisu w wierszu X na poziomie wiersza. Gdy jest to realizowane w ramach transakcji, blokada X będzie utrzymywana na czas trwania transakcji. Gdy aplikacja do przenoszenia spoin odnajdowa opróżnia bufory usuwania, potrzebna jest iteracja na sysrowsets , aby wykryć istniejące tabele lub indeksy. Aby odczytać wszystkie wiersze z sysrowsets musi być zablokowanie na poziomie wiersza w momencie zapisu. Proces wykrywania zostaje zatrzymany, gdy składnik przenoszenia spoiny znajdzie pierwszy zestaw wierszy, nad którym może pracować. W tym momencie program spoina krotek wykona rzeczywistą pracę w celu wyopróżniania buforu Delete, ale w celu upewnienia się, że odnaleziony zestaw wierszy jest nadal ważny, będzie przytrzymywać blokadę SCH-S we wszystkich zestawach wierszy, które zostaną wyliczone w trakcie procesu wykrywania do momentu zakończenia pracy.Sysrowsets jest uporządkowany według identyfikatora zestawu wierszy, więc może się zdarzyć, że przeskanowano wiele istniejących zestawów wierszy, dla których nie ma żadnej akcji, ale nadal znajduje się blokada SCH-S i przyjdzie do wpisu w Sysrowsets, dla którego nie można uzyskać blokady na poziomie wiersza, ponieważ jest on obecnie zmieniany przez długotrwałą transakcję, która zawiera blokadę X wiersza. W tym punkcie DDLs dotyczące zmiany identyfikatora zestawu wierszy są blokowane za blokadami SCH-S elementu przenoszenia spoin.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Informacje

Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×