[Symfonia Mobilny Magazyn] Błąd konwersji bazy danych

Rafał Kowalski
Rafał Kowalski
  • Zaktualizowano

Dotyczy produktów: Symfonia Mobilny Magazyn
Dotyczy licencji/ usług/ oferty: wymień ofertę lub licencję, której dotyczy instrukcja

 

Wprowadzenie

Podczas aktualizacji rozwiązania Symfonia Mobilny Handel może pojawić się poniższy błąd podczas konwersji bazy danych:

Konwersja bazy danych modułów dodatkowych nie powiodła się
Grupa: Moduł powiadomień
Nie można znajdowanie obiektu użytkownik „sa”, ponieważ nie istnieje lub nie m...
Konwersja dla modułu została przerwana
Komunikat błędu konwersji bazy danych

 

Kiedy stosować

Stosuj tę instrukcję w sytuacjach, gdy podczas aktualizacji rozwiązania Symfonia Mobilny Handel pojawi się powyższy komunikat błędu.

Zanim zaczniesz

 

Rozwiązanie

Przed ponowny uruchomieniem konwersji wykonaj poniższy skrypt SQL na odpowiedniej bazie danych:
 

DECLARE @DBUser NVARCHAR(50) = 'dbo'
IF NOT EXISTS (SELECT 1 FROM [sys].[schemas] WHERE [name] = 'ent')
BEGIN
    EXEC('CREATE SCHEMA [ent] AUTHORIZATION [' + @DBUser + ']')
END
Wartość przypisana do zmiennej @DBUser musi odpowiadać użytkownikowi bazy danych, z którym jest skojarzony (zmapowany) login sa.
Domyślnie jest to często: DECLARE @DBUser NVARCHAR(50) = 'dbo'

Jeśli login sa jest zmapowany do innego użytkownika bazy danych, należy zastąpić wartość dbo nazwą właściwego użytkownika.

 

Sprawdzanie nazwy użytkownika bazy danych

Nazwę użytkownika bazy danych można sprawdzić na dwa sposoby: wykonując odpowiednie zapytanie SQL lub korzystając z programu SQL Server Management Studio. Obie metody pozwalają ustalić nazwę użytkownika bazy danych powiązanego z wybranym loginem.

Metoda 1:

Zweryfikuj nazwę użytkownika za pomocą zapytania SQL. 

  1. Uruchom aplikację SQL Server Management Studio.
  2. W odpowiedniej bazie danych wykonaj poniższe zapytanie:
  3. SELECT dp.name AS DatabaseUser
    FROM sys.server_principals sp
    JOIN sys.database_principals dp
        ON sp.sid = dp.sid
    WHERE sp.name = 'sa';
  4. Wynik zapytania wprowadź do zmiennej @DBUser.

Metoda 2:

Zweryfikuj nazwę użytkownika za pomocą aplikacji SQL Server Management Studio.
  1. Uruchom aplikację SQL Server Management Studio.
  2. Rozwiń folder Bazy danych (Databases).
  3. Wybierz z listy bazę danych, którą aktualizujesz.
  4. Kliknij na znaczek + przy folderze bazy danych.
  5. Przejdź do folderu Zabezpieczenia (Security).
  6. Wybierz folder Użytkownicy (Users).
  7. Wybierz użytkownika, który jest właścicielem schematu. Najczęściej jest to użytkownik dbo.
  8. Kliknij prawym klawiszem myszy na nazwę użytkownika i wybierz Właściwości (Properties).
  9. Zweryfikuj w zakładce Główne (General) w polu Login name z jakim loginem serwera jest powiązany użytkownik.
     
  10. Wprowadź login serwera do zmiennej @DBUser.
    Jeżeli loginem jest sa, to tą wartością wprowadź do zmiennej @DBUser.

Metoda 2a.

Zweryfikuj nazwę użytkownika za pomocą aplikacji SQL Server Management Studio.

 

  1. Uruchom aplikację SQL Server Management Studio.
  2. Rozwiń folder Zabezpieczenia (Security).
  3. Wybierz z konto użytkownika sa.
  4. Kliknij prawym klawiszem myszy na nazwę użytkownika i wybierz Właściwości (Properties).
  5. Przejdź do zakładki User Mapping.
  6. Wybierz bazę danych, którą aktualizujesz.
  7. Zweryfikuj nazwę użytkownika w kolumnie Użytkownicy (Users).
  8. Wprowadź nazwę użytkownika do zmiennej @DBUser.
    Jeżeli loginem jest sa, to tą wartością wprowadź do zmiennej @DBUser.

Czy ten artykuł był pomocny?

Liczba użytkowników, którzy uważają ten artykuł za przydatny: 0 z 0