Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł ułatwia rozwiązywanie problemów z błędem 15151 występującym podczas instalowania aktualizacji zbiorczej (CU) lub dodatku Service Pack (SP) dla programu Microsoft SQL Server. Błąd występuje, gdy są uruchamiane skrypty uaktualniania bazy danych.
Symptomy
Po zastosowaniu aktualizacji CU lub SP program instalacyjny zwraca następujący komunikat o błędzie:
Oczekiwanie na dojście odzyskiwania dla aparatu bazy danych nie powiodło się. Sprawdź dziennik błędów programu SQL Server pod kątem potencjalnych przyczyn.
Ponadto następujący wpis błędu może zostać zarejestrowany w dzienniku błędów programu SQL Server:
Error: 15151, Severity: 16, State: 1.
Cannot find the login '##MS_SSISServerCleanupJobLogin##', because it does not exist or you do not have permission.
Przyczyna
Ten problem występuje, ponieważ identyfikator logowania (podmiot zabezpieczeń serwera) został porzucony ręcznie lub te instrukcje nie są przestrzegane.
Aby uzyskać więcej informacji na temat skryptów uaktualniania bazy danych uruchamianych podczas instalacji aktualizacji aktualizacji lub sp, zobacz Rozwiązywanie problemów z błędami skryptów uaktualniania podczas stosowania aktualizacji.
Rozwiązanie
Aby rozwiązać problem, wykonaj następujące kroki:
Uruchom program SQL Server z flagą śledzenia 902.
Utwórz ponownie identyfikator logowania na serwerze:
CREATE LOGIN [##MS_SSISServerCleanupJobLogin##] WITH PASSWORD = N'<password>', DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF;Przejdź do
SSISDBbazy danych i zamapuj istniejącego użytkownika na nowo utworzone dane logowania:USE SSISDB GO ALTER USER [##MS_SSISServerCleanupJobUser##] WITH LOGIN =[##MS_SSISServerCleanupJobLogin##]W niektórych przypadkach brakuje również informacji o użytkowniku bazy danych. W takim przypadku ponownie utwórz użytkownika w
SSISDBbazie danych, a następnie ponownie uruchom poprzedni krok, aby zamapować użytkownika na identyfikator logowania:USE [SSISDB] GO DROP USER [##MS_SSISServerCleanupJobUser##] GO CREATE USER [##MS_SSISServerCleanupJobUser##] FOR LOGIN [##MS_SSISServerCleanupJobLogin##] GO ALTER USER [##MS_SSISServerCleanupJobUser##] WITH DEFAULT_SCHEMA=[dbo] GO GRANT EXECUTE ON [internal].[cleanup_server_project_version] TO [##MS_SSISServerCleanupJobUser##] GO GRANT EXECUTE ON [internal].[cleanup_server_retention_window] TO [##MS_SSISServerCleanupJobUser##] GO