Основы T-SQL
Для создания базы данных используется команда CREATE DATABASE .
Чтобы создать новую базу данных откроем SQL Server Management Studio. Нажмем на назначение сервера в окне Object Explorer и в появившемся меню выберем пункт New Query .

В центральное поле для ввода выражений sql введем следующий код:
Тем самым мы создаем базу данных, которая будет называться «usersdb»:

Для выполнения команды нажмем на панели инструментов на кнопку Execute или на клавишу F5. И на сервере появится новая база данных.
После создания базы даных, мы можем установить ее в качестве текущей с помощью команды USE :
Прикрепление базы данных
Возможна ситуация, что у нас уже есть файл базы данных, который, к примеру, создан на другом компьютере. Файл базы данных представляет файл с расширением mdf, и этот файл в принципе мы можем переносить. Однако даже если мы скопируем его компьютер с установленным MS SQL Server, просто так скопированная база данных на сервере не появится. Для этого необходимо выполнить прикрепление базы данных к серверу. В этом случае применяется выражение:
В качестве каталога для базы данных лучше использовать каталог, где хранятся остальные базы данных сервера. На Windows 10 по умолчанию это каталог C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA . Например, пусть в моем случае файл с данными называется userstoredb.mdf. И я хочу этот файл добавить на сервер как базу данных. Вначале его надо скопировать в выше указанный каталог. Затем для прикрепления базы к серверу надо использовать следующую команду:
После выполнения команды на сервере появится база данных contactsdb.
Удаление базы данных
Для удаления базы данных применяется команда DROP DATABASE , которая имеет следующий синтаксис:
После команды через запятую мы можем перечислить все удаляемые базы данных. Например, удаление базы данных contactsdb:
Стоит учитывать, что даже если удаляемая база данных была прикреплена, то все равно будут удалены все файлы базы данных.
DROP DATABASE (Transact-SQL)
Удаляет одну или несколько пользовательских баз данных или моментальных снимков базы данных из экземпляра SQL Server.
Синтаксис
Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.
Аргументы
IF EXISTS
Применимо к: SQL Server (с SQL Server 2016 (13.x); до текущей версии).
Условное удаление базы данных только в том случае, если она уже существует.
database_name — задает имя удаляемой базы данных. Для просмотра списка баз данных используйте представление каталога sys.databases.
database_snapshot_name — применимо к: SQL Server 2008 и выше.
Задает имя удаляемого моментального снимка базы данных.
Общие замечания
База данных может быть удалена независимо от ее состояния: вне сети, только для чтения, подозрительная и так далее. Для просмотра текущего состояния базы данных используйте представление каталога sys.databases.
Удаленная база данных может быть повторно создана только с помощью восстановления из резервной копии. Резервное копирование моментальных снимков базы данных произвести невозможно, поэтому они не могут быть восстановлены.
При удалении базы данных необходимо выполнить резервное копирование базы данных master.
При удалении база данных удаляется из экземпляра SQL Server. Также с физического диска удаляются файлы, используемые базой данных. Если база данных или один из ее файлов во время удаления находится в режиме вне сети, файлы с диска не удаляются. Эти файлы можно удалить вручную при помощи обозревателя Windows. Для удаления базы данных с текущего сервера без удаления файлов из файловой системы используйте процедуру sp_detach_db.
Удаление файла базы данных, имеющего связанные с ним резервные копии FILE_SNAPSHOT, выполнится успешно, однако файлы базы данных, с которыми связаны моментальные снимки, не будут удалены во избежание объявления недействительными резервных копий, ссылающихся на файл базы данных. Файл усекается, но физически не удаляется, чтобы сохранить резервные копии FILE_SNAPSHOT без изменений. Дополнительные сведения см. в разделе Резервное копирование и восстановление SQL Server с помощью службы хранилища BLOB-объектов Microsoft Azure. Применимо к: с SQL Server 2016 (13.x); до текущей версии.
SQL Server
При удалении моментального снимка базы данных он удаляется из экземпляра SQL Server, а его физические разреженные файлы удаляются из файловой системы NTFS. Сведения об использовании разреженных файлов для моментальных снимков баз данных см. в статье Моментальные снимки базы данных. Удаление моментального снимка базы данных очищает кэш планов для экземпляра SQL Server. Очистка кэша планов становится причиной перекомпиляции всех последующих планов выполнения и приводит к непредвиденному временному снижению производительности обработки запросов. Для каждого удаленного хранилища кэша в кэше планов журнал ошибок SQL Server содержит следующее информационное сообщение: «SQL Server обнаружил %d экземпляров, записанных на диск хранилищ кэша для хранилища кэша «%s» (части кэша планов) в результате операций по обслуживанию или изменению конфигурации базы данных». Это сообщение добавляется в журнал каждые пять минут при сбросе кэша в течение этого интервала времени.
Совместимость
SQL Server
Чтобы удалить базу данных, опубликованную для репликации транзакций либо опубликованную или подписанную на репликацию слиянием, вначале необходимо удалить репликацию из базы данных. Если база данных повреждена или репликация не может быть удалена, скорее всего, базу данных все равно можно будет удалить, использовав инструкцию ALTER DATABASE для перевода базы данных в режим вне сети, после чего удалить ее.
Если база данных участвует в доставке журнала, отмените доставку журнала перед удалением базы данных. Дополнительные сведения см. в разделе Сведения о доставке журналов.
Ограничения
Инструкция DROP DATABASE должна выполняться в режиме автоматической фиксации и не разрешена в явной или неявной транзакции. Режим автоматической фиксации — это режим управления транзакцией по умолчанию.
Удалить базу данных, которая используется в текущий момент времени, невозможно. Это означает, что существуют блокировки на чтение или запись любым пользователем. Одним из способов отключить пользователей от базы данных является использование инструкции ALTER DATABASE для перевода базы данных в режим SINGLE_USER. В этой стратегии следует выполнять инструкции ALTER DATABASE и DROP DATABASE в одном и том же пакете, чтобы избежать появления другого подключения, занимающего один разрешенный пользовательский сеанс. См. пример Г ниже.
SQL Server
Любые моментальные снимки базы данных должны быть удалены перед удалением базы данных.
При удалении базы данных, настроенной в качестве базы Stretch Database, не удаляются удаленные данные. В таком случае удаленные данные следует удалять вручную.
База данных SQL Azure
Для удаления базы данных необходимо соединение с базой данных master.
Инструкция DROP DATABASE должна быть единственной инструкцией в пакете SQL, и ее можно удалить только одновременно с базой данных.
Azure Synapse Analytics
Для удаления базы данных необходимо соединение с базой данных master.
Инструкция DROP DATABASE должна быть единственной инструкцией в пакете SQL, и ее можно удалить только одновременно с базой данных.
Разрешения
SQL Server
Требуется разрешение CONTROL в базе данных, разрешение ALTER ANY DATABASE или членство в предопределенной роли базы данных db_owner.
База данных SQL Azure
Удалить базу данных могут только пользователи с именем входа субъекта серверного уровня (созданного процессом подготовки) или члены роли dbmanager базы данных.
Система платформы аналитики (PDW)
Требуется разрешение CONTROL в базе данных, разрешение ALTER ANY DATABASE или членство в предопределенной роли базы данных db_owner.
Примеры
A. Удаление одиночной базы данных
В следующем примере удаляется база данных Sales .
Б. Удаление нескольких баз данных
Область применения: SQL Server 2008 и более поздних версий.
В следующем примере удаляется каждая из перечисленных баз данных.
В. Удаление моментального снимка базы данных
Область применения: SQL Server 2008 и более поздних версий.
В следующем примере из базы данных удаляется моментальный снимок с именем sales_snapshot0600 без влияния на базу данных-источник.
Г. Удаление базы данных после проверки ее существования
В следующем примере сначала проверяется, существует ли база данных с именем Sales . Если да, пример переводит базу данных с именем Sales в однопользовательский режим, чтобы применить принудительное отключение всех остальных сеансов, а затем удаляет базу данных. Дополнительные сведения о режиме SINGLE_USER см. в описании параметров ALTER DATABASE SET.
MS SQL Server – удаление базы данных
Чтобы удалить базу данных из MS SQL Server, используйте команду drop database. Следующие два метода могут быть использованы для этой цели.
Метод 1 – Использование скрипта T-SQL
Ниже приведен основной синтаксис для удаления базы данных из MS SQL Server.
пример
Чтобы удалить имя базы данных «Testdb», выполните следующий запрос.
Способ 2 – Использование MS SQL Server Management Studio
Подключитесь к SQL Server и щелкните правой кнопкой мыши базу данных, которую вы хотите удалить. Нажмите команду «Удалить», и появится следующий экран.

Нажмите кнопку ОК, чтобы удалить базу данных (в данном примере это имя Testdb, как показано на приведенном выше экране) из MS SQL Server.