Use master sql что это
Как изменить контекст базы данных в Microsoft SQL Server? Команда USE
Привет, в этой небольшой заметке я расскажу начинающим программистам и администраторам Microsoft SQL Server о достаточно простом действии, о том, как изменяется контекст базы данных в SQL инструкциях, также я покажу, как это можно сделать в графической среде SQL Server Management Studio.
Если Вы обслуживаете или будете обслуживать несколько баз данных на одном экземпляре SQL Server, то, скорей всего, Вам придётся в своих SQL инструкциях менять контекст подключения к базе данных. Лично я Вам рекомендую во всех своих инструкциях (если у Вас несколько баз данных) принудительно указывать контекст базы данных, иными словами, к какой базе данных относится та или иная SQL инструкция.
В Microsoft SQL Server это делается с помощью команды USE.
Команда USE в T-SQL
USE – команда, с помощью которой можно переключать контекст базы данных в SQL инструкциях. В качестве параметра данной команде необходимо просто передать название базы данных, в контексте которой Вам необходимо выполнить SQL инструкцию.
Следует отметить, что для того чтобы использовать команду USE, у Вас должны быть соответствующие права, а именно: разрешение CONNECT на целевую базу данных, т.е. Вы имеете право подключаться к этой базе данных.
Когда Вы подключаетесь к SQL серверу, Ваш контекст настроен на базу данных по умолчанию, если Вы или администратор Вам не указал такую базу данных для имени входа, то по умолчанию Вы будете подключаться к базе master.
Пример использования команды USE
В качестве примера давайте напишем простую инструкцию, в которой мы подключимся к базе данных TestDB, выполним тестовый запрос (вызовем функцию DB_NAME), а затем сменим контекст базы данных на другую, в нашем примере это будет база master.
Меняем контекст базы данных с помощью Management Studio
Посмотреть, к какой базе данных Вы подключены в данный момент, а также переключить контекст на другую базу данных, Вы можете в среде SQL Server Management Studio.
Данный функционал расположен на панели редактора SQL запросов.
Как сменить контекст подключения к базе данных, мы с Вами рассмотрели, однако мне хотелось бы еще отметить то, что Microsoft SQL Server позволяет в SQL инструкциях обращаться к объектам, которые расположены в разных базах данных на одном экземпляре SQL сервера. Иными словами, не меняя контекст подключения, мы, например, можем запросить данные из таблицы, которая расположена в другой базе данных, вызвать хранимую процедуру или функцию.
Это делается с помощью указания полного четырехсоставного имени объекта, только имя сервера можно не указывать.
Например, следующий запрос выполнится успешно, и мы получим данные из таблицы TestTable, хотя, как Вы понимаете, таблицы TestTable в базе данных master нет (именно на ней будет контекст выполнения).
Заметка! Начинающим рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать на T-SQL.
База данных master
Для отдельных баз данных и эластичных пулов Базы данных SQL Azure используются только базы данных master и tempdb. Дополнительные сведения см. в разделе Что являет собою сервер Базы данных SQL Azure?. Описание базы данных tempdb в контексте Базы данных SQL Azure см. в разделе База данных tempdb в базе данных SQL. Для Управляемого экземпляра SQL Azure применяются все системные базы данных. См. дополнительные сведения об Управляемом экземпляре Базы данных SQL Azure.
Физические свойства базы данных master
Исходные конфигурационные значения файлов данных и файлов журнала базы данных master для SQL Server и Управляемого экземпляра SQL Azure приведены в следующей таблице. Размеры этих файлов могут немного изменяться в зависимости от выпуска SQL Server.
Файл | Логическое имя | Физическое имя | Увеличение размера файлов |
---|---|---|---|
Первичные данные | master | master.mdf | Автоувеличение на 10 % до заполнения диска. |
Журнал | mastlog | mastlog.ldf | Автоувеличение на 10 % до максимального размера в 2 ТБ. |
Сведения о перемещении файлов данных и журнала базы данных master см. в разделе Перемещение системных баз данных.
При работе с сервером Базы данных SQL Azure пользователь не может управлять размером базы данных master.
Параметры базы данных
При работе с отдельными базами данных и эластичными пулами Базы данных SQL Azure пользователь не может управлять этими параметрами базы данных.
Параметр базы данных | Значение по умолчанию | Можно ли изменить |
---|---|---|
ALLOW_SNAPSHOT_ISOLATION | ON | нет |
ANSI_NULL_DEFAULT | OFF | Да |
ANSI_NULLS | OFF | Да |
ANSI_PADDING | OFF | Да |
ANSI_WARNINGS | OFF | Да |
ARITHABORT | OFF | Да |
AUTO_CLOSE | OFF | нет |
AUTO_CREATE_STATISTICS | ON | Да |
AUTO_SHRINK | OFF | нет |
AUTO_UPDATE_STATISTICS | ON | Да |
AUTO_UPDATE_STATISTICS_ASYNC | OFF | Да |
CHANGE_TRACKING | OFF | нет |
CONCAT_NULL_YIELDS_NULL | OFF | Да |
CURSOR_CLOSE_ON_COMMIT | OFF | Да |
CURSOR_DEFAULT | GLOBAL | Да |
Параметры доступности базы данных | ONLINE |
Нет
Описание этих параметров баз данных см. в разделе ALTER DATABASE (Transact-SQL).
Ограничения
База данных master не поддерживает следующие операции:
Рекомендации
При работе с базой данных master учитывайте следующие рекомендации:
всегда имейте в наличии актуальную резервную копию базы данных master ;
после выполнения следующих операций как можно быстрее создавайте резервную копию базы данных master :
не устанавливайте в базе данных master параметр TRUSTWORTHY в значение ON.
Что делать, если база данных master становится непригодна к использованию
Если база данных master непригодна к использованию, ее можно вернуть в нормальное состояние следующими способами.
Восстановить базу данных master на основе актуальной резервной копии.
Если экземпляр сервера удалось запустить, базу данных master можно восстановить из полной резервной копии. Дополнительные сведения см. в разделе Восстановление базы данных master (Transact-SQL).
Перестроить базу данных master с нуля.
Если серьезное повреждение базы данных master не позволяет запустить экземпляр SQL Server, базу данных master нужно перестроить. Дополнительные сведения см. в разделе Перестроение системных баз данных.
При перестроении базы данных master все системные базы данных также перестраиваются.
Установка однопользовательского режима базы данных
В этой статье описывается, как установить однопользовательский режим для определенной пользователем базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Однопользовательский режим указывает, что одновременный доступ к базе данных получает только один пользователь. Это в основном используется для операций обслуживания.
Ограничения
Если в процессе установки однопользовательского режима к базе данных подключены другие пользователи, то их подключения к базе данных будут закрыты без предупреждения.
База данных остается в однопользовательском режиме, даже если пользователь, который установил этот параметр, отключился. В этот момент к базе данных могут подключаться и другие пользователи, но одновременно может быть подключен только один.
Предварительные требования
Permissions
Необходимо разрешение ALTER на базу данных.
Использование среды SQL Server Management Studio
Чтобы установить однопользовательский режим для базы данных, выполните следующие действия:
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engineи разверните его.
Щелкните правой кнопкой мыши базу данных, которую нужно изменить, и выберите пункт Свойства.
В диалоговом окне Свойства базы данных выберите страницу Параметры.
Для параметра Ограничение доступа выберите Один.
С помощью этой процедуры можно также установить режим одновременного или ограниченного доступа к базе данных. Дополнительные сведения о параметрах ограниченного доступа см. в разделе Свойства базы данных (страница «Параметры»).
Использование Transact-SQL
Чтобы установить однопользовательский режим для базы данных, выполните следующие действия:
Установите соединение с компонентом Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
USE (Transact-SQL)
Изменяет контекст базы данных на указанную базу данных или моментальный снимок базы данных в SQL Server.
Синтаксические обозначения в Transact-SQL
Синтаксис
Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.
Аргументы
database_name
Имя базы данных или моментального снимка базы данных, на который переключается контекст пользователя. Имена баз данных и моментальных снимков базы данных должны соответствовать правилам построения идентификаторов.
В База данных SQL Azure параметр базы данных может ссылаться только на текущую базу данных. Если указана база данных, отличная от текущей, инструкция USE не переключается между базами данных и возвращается код ошибки 40508. Для смены базы данных следует непосредственно подключиться к базе данных. В верхней части этой страницы инструкция USE помечена как неприменимая к базе данных SQL, поскольку даже если инструкция USE входит в состав пакета, она не выполняет никаких действий.
Примечания
При подключении имени входа SQL Server к SQL Server имя входа автоматически подключается к базе данных по умолчанию и получает контекст безопасности пользователя базы данных. Если для имени входа SQL Server пользователь базы данных не был создан, имя входа подключается как «гость». Если пользователь базы данных не имеет разрешения CONNECT на базу данных, инструкция USE завершится ошибкой. Если с именем входа не была связана никакая база данных по умолчанию, то для него базой данных по умолчанию будет установлена база данных master.
Инструкция USE выполняется как на стадии компиляции, так и на стадии выполнения и вступает в силу немедленно. Иными словами, инструкции, которые содержатся в пакете после инструкции USE, будут выполнены в контексте указанной базы данных.
Разрешения
Необходимо разрешение CONNECT на целевую базу данных.
Примеры
Создание базы данных
В этой статье описывается создание базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
Сведения о создании базы данных в службе Базы данных SQL Azure с помощью T-SQL см. в статье CREATE DATABASE (база данных SQL Azure).
Ограничения
Предварительные требования
Рекомендации
Резервную копию базы данных master необходимо создавать каждый раз при создании, изменении или удалении пользовательской базы данных.
При создании базы данных файлы данных следует делать как можно большего размера, в соответствии с максимальным предполагаемым объемом данных в базе данных.
безопасность
Permissions
Требуется разрешение CREATE DATABASE в базе данных master или разрешение CREATE ANY DATABASE или ALTER ANY DATABASE.
Чтобы сохранить контроль над использованием диска в экземпляре SQL Server, разрешение на создание баз данных обычно предоставляется небольшому числу имен входа SQL Server.
Использование среды SQL Server Management Studio
Создание базы данных
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.
Щелкните правой кнопкой мыши узел Базы данных и выберите команду Создать базу данных.
В поле Новая база данных введите имя базы данных.
Чтобы создать базу данных, приняв все значения по умолчанию, нажмите кнопку ОК; в противном случае продолжайте выполнять указанные ниже дополнительные действия.
Чтобы изменить имя владельца, нажмите ( … ) и выберите другого владельца.
Параметр Использовать полнотекстовое индексирование всегда установлен и недоступен (т. к. начиная с SQL Server 2008все пользовательские базы данных поддерживают полнотекстовый поиск).
Чтобы изменить значения первичных данных по умолчанию и файлы журнала транзакций, выберите соответствующую ячейку в сетке Файлы базы данных и введите новое значение. Дополнительные сведения см. в статье AДобавление файлов данных или журналов в базу данных.
Чтобы изменить параметры сортировки базы данных, выберите страницу Параметры и выберите из списка желаемые параметры сортировки.
Чтобы изменить модель восстановления, выберите страницу Параметры и модель восстановления из списка.
Чтобы изменить параметры базы данных, выберите страницу Параметры и измените параметры базы данных. Описание каждого параметра см. в статье Параметры ALTER DATABASE SET (Transact-SQL).
Чтобы добавить новую файловую группу, перейдите на страницу Файловые группы. Нажмите кнопку Добавить и введите значения для файловой группы.
В столбце Имя введите имя расширенного свойства.
В столбце Значение введите текст расширенного свойства. Например, введите одно или несколько предложений, которые описывают базу данных.
Чтобы создать базу данных, нажмите кнопку ОК.
Использование Transact-SQL
Создание базы данных
Установите соединение с компонентом Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.