Witam was w nowej serii na naszym blogu o nazwie “Wskazówka dnia“. Naszym zamierzeniem jest stworzenie “worka” na wszelkiego rodzaju wskazówki, rady czy pojedyncze skrypty, które są za krótkie na osobny artykuł, a w wielu przypadkach mogą okazać się użyteczne – mam nadzieję, że ten nowy format Wam się spodoba szczególnie, że będzie on stosunkowo często poszerzany o nowe treści.
Dziś zajmiemy się tytułowym błędem, który czasem możecie zauważyć w swoich narzędziach klienckich tj. Cannot open user default database. Jest to nic innego jak błąd połączenia użytkownika ze względu na fakt, iż baza oznaczona dla niego jako domyślna jest niedostępna (np. jest w trybie Offline).
Na samym początku doprowadźmy do sytuacji wystąpienia tego błędu – tworząc bazę i login mający nowo powstałą bazę ustawioną jako domyślną.
USE [master] GO CREATE DATABASE TESTDB GO CREATE LOGIN [TestLogin] WITH PASSWORD=N'zaq1@WSX', DEFAULT_DATABASE=[TESTDB], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO
Następnie spróbujmy zalogować się przy pomocy Management Studio:
Otrzymujemy pożądany w tym przypadku błąd “Cannot open user default database. Login Failed”
Jak to rozwiązać? W bardzo prosty sposób – należy nie polegać na domyślnej bazie użytkownika tylko wskazać bazę do której chcemy się połączyć – możemy to zrobić w SSMS wybierając przycisk Options, następnie Connection Properties. W tym miejscu możemy wybrać bazę lub wpisać do której chcemy się zalogować.
To wszystko – możemy już zalogować się do serwera i sprawdzić stan naszej domyślnej bazy danych. Podobnie sprawa się ma z innymi narzędziami klienckimi jak sqlcmd gdzie podanie określonej bazy danych rozwiąże powyższy problem.
- Avoiding Issues: Monitoring Query Pushdowns in Databricks Federated Queries - October 27, 2024
- Microsoft Fabric: Using Workspace Identity for Authentication - September 25, 2024
- Executing SQL queries from Azure DevOps using Service Connection credentials - August 28, 2024
Last comments