Autor Wątek: Migracja serwera SQL  (Przeczytany 9272 razy)

Offline Greg71

  • Nowy
  • *
  • Wiadomości: 3
  • Reputacja: +0/-0
Migracja serwera SQL
« dnia: 05 Lipiec 2017, 20:14:06 »
Witam wszystkich na forum.

Mam problem z migracją serwera bazy danych Płatnika. Dotychczas baza chodziła na Windows XP z MS SQL 2005.
Próbuję przenieść bazę na nowy serwer na Win10 x64. Niestety nie można postawić tam serwera SQL 2005, więc postawiłem serwer 2012, zassałem dane z backupu bazy i zainstalowałem Płatnika.
Mój problem polega na tym, że nie mogę podłączyć się do bazy z poziomu Płatnika przy autoryzacji użytkownikiem bazy SQL. Próba podłączenia kończy się pojawieniem komunikatu:
"Cannot open database requested by the login. The login failed".
Zmieniając autoryzację poprzez Windows łączę się bezproblemowo.
Proszę o pomoc. Jest to instalacja sieciowa. Do tej pory wszyscy łączyli się do bazy użytkownikiem SQL.

Offline DarekD

  • Ekspert
  • *****
  • Wiadomości: 1880
  • Reputacja: +379/-3
    • InnerSoft
Odp: Migracja serwera SQL
« Odpowiedź #1 dnia: 05 Lipiec 2017, 21:50:01 »
Czy przy instalacji serwera ustawiono autoryzację jako 'Mixed mode'? Domyslnie jest to opcja wyłaczona. Inaczej pytając - czy przy instalacji serwera SQL było podawane hasło uzytkownika 'sa'?

Offline Greg71

  • Nowy
  • *
  • Wiadomości: 3
  • Reputacja: +0/-0
Odp: Migracja serwera SQL
« Odpowiedź #2 dnia: 06 Lipiec 2017, 08:50:18 »
Tak, tryb mixed jest włączony.
Już znalazłem przyczynę mojego problemu.

Okazało się, że użytkownik którym próbowałem się łączyć do bazy danych posiadał "User type" równy "SQL user without login" (atrybut widoczny w SQL Server Management Studio we właściwościach użytkownika) . To powodowało, że nie miał on dostępu do bazy. Nie wiem dlaczego - bazę najpierw założyłem z poziomu Płatnika wskazując dostęp poprzez tego usera, a następnie przywróciłem ją z backupu ze starego serwera. Może to było powodem?

Aby zmienić ten atrybut konieczne jest uruchomienie poniższego polecenia SQL (nie da się tego wyklikać):
ALTER USER x WITH LOGIN = x

Po wykonaniu tego polecenia mogłem poprawnie się podłączyć do bazy.

Dziękuję za zainteresowanie  :)

Mała dygresja:
Postawienie nowej instalacji Płatnika na systemie Windows 10 x64 z wraz z bazą SQL to naprawdę niemałe wyzwanie. Sprawa wydawała się banalna, a spędziłem nad tym ponad 4 godziny. Trudno znaleźć w necie jakiś pełny opis, zarówno na forach, o oficjalnych stronach już nie wspomnę. A zapuszczenie instalatora Płatnika to dopiero początek problemów, później jest jeszcze wiele do zrobienia, aby program zaczął się w ogóle uruchamiać  >:(