Quel est le but de tempdb dans SQL Server?

J'ai besoin d'une clarification à propos de tempdb dans SQL Server et j'ai besoin de clarifications sur les choses suivantes

  1. Quel est le but de son?
  2. Peut-on créer son propre tempdb et comment faire reference à son propre tempdb pour posséder une database?

FROM MSDN

La database système tempdb est une ressource globale disponible pour tous les users connectés à l'instance de SQL Server et utilisée pour contenir les éléments suivants:

  1. Objets user temporaires explicitement créés, tels que: tables temporaires globales ou locales, procédures stockées temporaires, variables de table ou sliders.
  2. Les objects internes créés par le moteur de database SQL Server, par exemple, fonctionnent avec des tables pour stocker les résultats intermédiaires pour les spools ou le sorting.
  3. Les versions de ligne générées par des transactions de modification de données dans une database qui utilise read-committed à l'aide de transactions d'isolation de versionnement de ligne ou d'isolation d'instantané.
  4. Les versions de ligne générées par les transactions de modification de données pour les fonctions, telles que: les opérations d'index en ligne, les sets de résultats actifs multiples (MARS) et les triggersurs AFTER.

Les opérations au sein de tempdb sont minimes.

Cela permet de restaurer les transactions. tempdb est recréé chaque fois que SQL Server est démarré afin que le système démarre toujours avec une copy propre de la database.

Les tables temporaires et les procédures stockées sont supprimées automatiquement lors de la déconnection et aucune connection n'est active lorsque le système est arrêté. Par conséquent, il n'y a jamais rien dans tempdb à save à partir d'une session de SQL Server à l'autre. Les opérations de sauvegarde et de restauration ne sont pas autorisées sur tempdb.

TempdB est une database système et nous ne pouvons pas créer des bases de données système. Tempdb est une ressource globale pour toutes les bases de données, ce qui signifie tables temporaires, variables de table, version stocker pour les bases de données user … tempdb.Refer à ci-dessous des liens sur la façon dont il est utilisé à d'autres fins, comme les e-mails de database, ..

https://msdn.microsoft.com/en-us/library/ms190768.aspx

1: C'est ce qu'il dit. Un stockage temporaire. Par exemple, lorsque vous requestz des résultats DISTINCT, SQL Server doit se souvenir des lignes qu'il vous a déjà envoyées. Pareil avec une table temporaire.

2: Cela n'a aucun sens. Tempdb n'est pas une database, mais une chose de server – ONE TempDB indépendamment du nombre de bases de données. Vous pouvez changer où il est et comment c'est (numéro de file, taille) mais il n'est jamais lié à une database (sauf évidemment si vous avez seulement une database sur une instance de SQL Server). Avoir votre propre Tempdb n'est PAS le fonctionnement de SQL Server. Et pendant que nous y sums, pas besoin de faire une sauvegarde (de tempdb). Lorsque SQL Server démarre, Tempdb est réinitialisé comme vide.

Et, btw., Ce serait évident si vous vous embêtez avec des choses telles que la compétence limite. Ce qui inclut pour moi la lecture de la documentation de toutes les technologies majeures avec lesquelles je travaille une fois. Vous devriez considérer cela comme quelque chose à adopter parce que c'est la seule façon de savoir ce que vous faites.