sql >> Databáze >  >> RDS >> Sqlserver

Proč moje databáze tempdb resetuje oprávnění, když je server restartován?

Nejprve byste neměli přidělovat oprávnění k databázi tempdb přímo. Ze zřejmých důvodů, že se znovu vytvoří při každém restartu.

Což vlastně vyvolává otázku:proč vlastně potřebujete mít k této databázi přímá oprávnění?

K vytváření dočasných tabulek nepotřebujete žádná oprávnění kromě toho, že se můžete připojit k serveru SQL. Pokud však vytváříte skutečné tabulky v databázi tempdb, velmi doporučuji, abyste to změnili tak, abyste pro tento účel používali vyhrazenou databázi.

AKTUALIZACE
Na základě Martinova komentáře mohu říci jen wow. Nikdy by mě ani nenapadlo, že by to byla možnost.

Dobře, teď, když jsem se vzpamatoval z toho šoku.

Vytvořte novou úlohu na serveru SQL, která se spouští podle plánu. Plán by měl být nastaven na "Spustit automaticky při každém spuštění SQL Server Agent". Úloha by měla znovu vytvořit vaše potřebná oprávnění tempdb.

Stručně řečeno, když je server restartován, SQL Server Agent se restartuje (za předpokladu, že je služba takto nastavena). Když se restartuje, spustí tuto úlohu, která pak opraví vaše oprávnění. Očekával bych, že web zůstane mimo provoz jen o několik sekund déle, než trvá úplné restartování SQL serveru.



  1. Aktualizujte všechny hodnoty SQL NULL ve více sloupcích pomocí klauzule WHERE na úrovni sloupce?

  2. mysql spojování tabulek bez klíčů

  3. Poddotaz vrací více než 1 řádek

  4. mysql:jak zkrátit délku pole