sql >> Databasteknik >  >> RDS >> Sqlserver

Varför återställer min tempdb behörigheterna när servern startas om?

Först och främst bör du inte tilldela behörigheter till tempdb direkt. Av de uppenbara skälen att den återskapas vid varje omstart.

Vilket faktiskt väcker en fråga:varför behöver du ha direkta behörigheter till den här databasen ändå?

Du behöver inga behörigheter utöver att bara kunna ansluta till sql-servern för att skapa temporära tabeller. Men om du skapar riktiga tabeller i tempdb, så föreslår jag starkt att du ändrar detta till att använda en dedikerad databas för detta ändamål.

UPPDATERA
Baserat på Martins kommentar kan jag bara säga wow. Jag skulle aldrig ens ha tänkt på att detta skulle ha varit ett alternativ.

Okej, nu när jag har återhämtat mig från chocken.

Skapa ett nytt jobb i sql-server som körs enligt ett schema. Schemat bör ställas in på "Starta automatiskt när SQL Server Agent startar". Jobbet bör återskapa dina nödvändiga tempdb-behörigheter.

I ett nötskal, när servern startas om kommer SQL Server Agent att startas om (förutsatt att tjänsten är inställd på det sättet). När den startar om kommer det att starta det här jobbet som sedan fixar dina behörigheter. Jag förväntar mig att webbplatsen förblir nere i bara några sekunder mer än vad det tar för SQL-servern att starta om helt.



  1. Vilken datatyp för latitud och longitud?

  2. Tabell i Excel från SQL Server lagrad procedur med parameterfält i arbetsbok

  3. Brett varchar-fält orsakar Begärd konvertering stöds inte fel med openquery med MySQL-länkad server

  4. Lagra String Array i MySql via java?