Odmowa dostępu do bazy na serwerze SQL

0

Baza danych programu Płatnik ZUS od dawna pracuje na Windows Server 2012 pod SQL Server 2008, musiałem wgrać jednak SQL Server 2012, zrobiłem backup bazy, zainstalowałem nowy SQL 2012, zrobiłem restore bazy, wszystko przebiegło pomyślnie, tyle że teraz z kompów klienckich nie mogę podłączyć się do bazy, mam info, że baza nie istnieje lub odmowa dostępu. Raczej to odmowa dostępu bo Płatnik ZUS na kompie klienckim od razu odnalazł ścieżkę dostępu (Serwer\SQLExpress2012), co może być nie tak?

Dodam, że to nie wina firewall, bo jak tylko z powrotem przerzucę baze pod stare SQL 2008 (nie deinstalowałem, działają równocześnie) to kompy klienckie od razu łącza się z bazą. Czyli ewidentnie jakie s ustawienia SQL 2012. Sprawdzałem, mam zaptaszone - "allow remote connection to this serwer", a w ustawienia TCIP na serwerze tez dałem enabled.

0

Skoro działają równocześnie, to na różnych portach. Jeden (SQL 2008) na standardowym (w MS SQL to chyba 1433), a ten drugi będzie działał na pierwszym wolnym czyli pewnie 1434.

0

Czyli, co mam zrobić?

0

Jeżeli robiłeś backup, który restorowałeś na innym SQL Serverze, to rozjechali Ci się użytkownicy bazy.
W płatniku definiujesz jak loguje się do bazy, jaką masz autoryzacje ustawiona windows czy SQL?

0

Autoryzacja jest SQL, i tak tez wybieram przy logowaniu.

0

No to teraz na tym nowym SQL Serverze musisz założyć login, nazwa taka, jak była poprzednio używana:

Albo create login (https://docs.microsoft.com/en-us/sql/t-sql/statements/create-login-transact-sql?view=sql-server-2017&tabs=sqlserver)
albo w ssms <nazwaserwera>->Security->Logins

Później na wyrestorowanej bazie, puść procedurę:

   sp_change_users_login 'update_one','nazwaloginu','nazwaloginu'
0

Ale przecież gdyby to był problem z logowaniem, to stosowny komunikat bym otrzymał...

Dziwne jeszcze jest to, że jak uruchamiam Płatnik ZUS z bazą podczepiona pod SQL2012 to od razu mam komunikat:

"Błąd losowania adresów. Przekazany parametr adresu jest niepoprawny. Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu"

Jak z powrotem baze kopiuje pod SQL2008 to wszystko ok, łączy się od razu i żadnego komunikatu nie ma.

0

To nie do końca tak, że firewall nie przeszkadza, domyślnie SQL słucha na porcie 1433, ty doinstalowałes nową nazwaną instancję i teraz co trzeba zrobić:

Na serwerze uruchomić usługę SQL Server Browser
otworzyć por UDP 1434, aby klienci je znajdowali
otworzyć port na którym nasłuchuje zainstalowana instancja

https://docs.microsoft.com/en-us/sql/sql-server/install/configure-the-windows-firewall-to-allow-sql-server-access?view=sql-server-2017

1 użytkowników online, w tym zalogowanych: 0, gości: 1