Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Защо моята tempdb нулира разрешенията, когато сървърът се рестартира?

Първо, не трябва да присвоявате разрешения директно на tempdb. Поради очевидните причини, че се пресъздава при всяко рестартиране.

Което всъщност повдига въпроса:защо все пак трябва да имате директни разрешения за тази база данни?

Не се нуждаете от никакви разрешения освен просто да можете да се свържете към sql сървър, за да създавате временни таблици. Въпреки това, ако създавате реални таблици в tempdb, силно препоръчвам да промените това, за да използвате специална база данни за тази цел.

АКТУАЛИЗАЦИЯ
Въз основа на коментара на Мартин всичко, което мога да кажа е уау. Никога не бих си помислил, че това би било опция.

Добре, сега се съвзех от шока.

Създайте нова работа в sql сървър, която се изпълнява по график. Графикът трябва да бъде настроен на „Стартирай автоматично при всяко стартиране на SQL Server Agent“. Задачата трябва да пресъздаде вашите необходими разрешения за tempdb.

С две думи, когато сървърът се рестартира, SQL Server Agent ще се рестартира (при условие, че услугата е настроена по този начин). Когато се рестартира, той ще започне тази работа, която след това ще коригира вашите разрешения. Очаквам сайтът да остане неактивен само за няколко секунди повече, отколкото е необходимо на 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. Разликата във времето в SQL между две дати води до hh:mm:ss

  2. Как да използвате функциите на SQL Server AlwaysOn

  3. CHARINDEX срещу LIKE търсенето дава много различна производителност, защо?

  4. Предотвратяване на дублиращи се стойности, въведени от потребителя

  5. Как да създам уникално ограничение, което също позволява нулеви стойности?