2016-03-24 2 views
3

мне нужно разъяснение о tempdb в SQL Server и нужны некоторые пояснения на следующие вещиКакова цель tempdb в SQL Server?

  1. Какова цель его?
  2. Можем ли мы создать собственный tempdb и как сделать ссылку на собственный tempdb?
+2

Прочтите эту [MSDN] tempdb (https://msdn.microsoft.com/en-AU/library/ms190768.aspx) – AKS

+1

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

+0

Благодарим вас обоих за ссылку ... Я просмотрел документ и получил некоторую ясность относительно tempdb. Еще одно сомнение возникло для меня, если моя ясность в отношении tempdb правильная, тогда, когда мы создаем базу данных в sqlserver, созданная база данных использует этот tempdb для правильного выполнения запросов. Как я могу изменить свою собственную базу данных для ссылки на мой собственный tempdb для выполнения запросов и всего. Если моя ясность ошибочна, скажите мне ... –

ответ

2

TempDb представляет собой базу данных системы, и мы не можем создать систему баз данных .Tempdb является глобальным ресурсом для всех баз данных, что означает временные таблицы, таблицы переменных, хранилище версий для пользовательских баз данных ... все будет использовать tempdb..This является довольно основным объяснением tempdb.Refer к ссылкам ниже о том, как она используется для других целей, таких как электронная почта базы данных, ..

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

0

1: это то, что он говорит. Временное хранение. Например, когда вы запрашиваете результаты DISTINCT, SQL Server должен помнить, какие строки он уже отправил вам. То же самое с временной таблицей.

2: Не имеет смысла. Tempdb - это не база данных, а серверная вещь - ONE TempDB, независимо от количества базы данных. Вы можете изменить, где это и как это (номер файла, размер), но он никогда не связан с одной базой данных (за исключением, очевидно, если у вас есть только одна база данных на экземпляре SQL Server). Наличие собственного Tempdb НЕ является тем, как работает SQL Server. И пока мы на нем - не нужно делать резервную копию (tempdb). Когда SQL Server запускается, Tempdb повторно инициализируется как пустой.

И, кстати, это было бы очевидно, если бы вы потрудились с такими вещами, как грамотность. Что включает в себя для меня чтение документации по каждой крупной технологии, с которой я работаю один раз. Вы должны считать, что это что-то принять, потому что это единственный способ узнать, что вы делаете.

3

FROM MSDN

Tempdb система база данных является глобальным ресурсом, который доступен для всех пользователей, подключенных к экземпляру SQL Server и используется для хранения следующего:

  1. временных пользовательских объектов, которые явно , например: global или локальные временные таблицы, временные хранимые процедуры, таблицы переменные или курсоры.
  2. Внутренние объекты, созданные SQL Server Database Engine, например, рабочие таблицы для хранения промежуточных результатов для буферов или сортировки .
  3. Рядовые версии, которые генерируются транзакциями модификации данных в , используют базу данных, использующую чтение с использованием изоляции версий строк или транзакции изоляции моментальных снимков.
  4. Рядовые версии, которые генерируются транзакциями модификации данных для таких функций, как: операции онлайн-индекса, несколько активных Наборы результатов (MARS) и триггеры AFTER.

Операции в пределах tempdb минимально регистрируются.

Это позволяет откат транзакций. tempdb воссоздается каждый раз при запуске SQL Server, чтобы система всегда начиналась с чистой копии базы данных.

Временные таблицы и хранимые процедуры автоматически отбрасываются при отключении, и никакие соединения не активны, когда система выключена. Поэтому в tempdb никогда не бывает ничего, что можно было бы сохранить из одной сессии SQL Server в другую. Операции резервного копирования и восстановления не разрешены на tempdb.