Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dlaczego moja baza danych tempdb resetuje uprawnienia po ponownym uruchomieniu serwera?

Po pierwsze, nie należy bezpośrednio przypisywać uprawnień do bazy danych tempdb. Z oczywistych powodów, że jest on odtwarzany przy każdym ponownym uruchomieniu.

Co właściwie rodzi pytanie:dlaczego i tak musisz mieć bezpośrednie uprawnienia do tej bazy danych?

Nie potrzebujesz żadnych uprawnień poza możliwością łączenia się z serwerem sql w celu tworzenia tabel tymczasowych. Jeśli jednak tworzysz prawdziwe tabele w tempdb, gorąco sugeruję, abyś to zmienił, aby użyć do tego celu dedykowanej bazy danych.

AKTUALIZUJ
Na podstawie komentarza Martina wszystko, co mogę powiedzieć, to wow. Nigdy bym nie pomyślał, że to byłaby opcja.

Dobra, teraz, kiedy otrząsnąłem się z szoku.

Utwórz nowe zadanie na serwerze sql, które jest wykonywane zgodnie z harmonogramem. Harmonogram powinien być ustawiony na „Uruchom automatycznie po uruchomieniu agenta programu SQL Server”. Zadanie powinno odtworzyć niezbędne uprawnienia tempdb.

Krótko mówiąc, po ponownym uruchomieniu serwera SQL Server Agent zostanie ponownie uruchomiony (pod warunkiem, że usługa jest ustawiona w ten sposób). Po ponownym uruchomieniu uruchomi to zadanie, które następnie naprawi twoje uprawnienia. Spodziewam się, że witryna pozostanie niedostępna tylko przez kilka sekund dłużej niż całkowite ponowne uruchomienie serwera SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd — transakcja powiązana z bieżącym połączeniem została zakończona, ale nie została usunięta

  2. Odczytaj konfigurację .NET z bazy danych

  3. Czy SQL Server Bulk Insert ma charakter transakcyjny?

  4. Aktualizuj za pomocą dołączania, grupowania według i posiadania

  5. Pobieranie wyników procedury składowanej SQL w formacie data.frame za pomocą RODBC