Как удалить базу данных
Перейти к содержимому

Как удалить базу данных

  • автор:

DROP DATABASE (Transact-SQL)

Удаляет одну или несколько пользовательских баз данных или моментальных снимков базы данных из экземпляра SQL Server.

Синтаксис

-- SQL Server Syntax DROP DATABASE [ IF EXISTS ] < database_name | database_snapshot_name >[ . n ] [;] 
-- Azure SQL Database, Azure Synapse Analytics and Analytics Platform System Syntax DROP DATABASE database_name [;] 

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

IF EXISTS
Применимо к: SQL Server (SQL Server 2016 (13.x) до текущей версии.

Условное удаление базы данных только в том случае, если она уже существует.

database_name — задает имя удаляемой базы данных. Для просмотра списка баз данных используйте представление каталога sys.databases.

database_snapshot_name применимо к SQL Server 2008 (10.0.x) и более поздним версиям.

Задает имя удаляемого моментального снимка базы данных.

Общие замечания

База данных может быть удалена независимо от ее состояния: вне сети, только для чтения, подозрительная и так далее. Для просмотра текущего состояния базы данных используйте представление каталога sys.databases.

Удаленная база данных может быть повторно создана только с помощью восстановления из резервной копии. Резервное копирование моментальных снимков базы данных произвести невозможно, поэтому они не могут быть восстановлены.

При удалении базы данных необходимо выполнить резервное копирование базы данных master.

Удаление базы данных удаляет базу данных из экземпляра SQL Server и удаляет файлы физического диска, используемые базой данных. Если база данных или один из ее файлов во время удаления находится в режиме вне сети, файлы с диска не удаляются. Эти файлы можно удалить вручную при помощи обозревателя Windows. Для удаления базы данных с текущего сервера без удаления файлов из файловой системы используйте процедуру sp_detach_db.

Удаление файла базы данных, имеющего связанные с ним резервные копии FILE_SNAPSHOT, выполнится успешно, однако файлы базы данных, с которыми связаны моментальные снимки, не будут удалены во избежание объявления недействительными резервных копий, ссылающихся на файл базы данных. Файл усекается, но физически не удаляется, чтобы сохранить резервные копии FILE_SNAPSHOT без изменений. Дополнительные сведения см. в статье sql Server Backup and Restore with Microsoft Хранилище BLOB-объектов 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, не удаляются удаленные данные. В таком случае удаленные данные следует удалять вручную.

Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.

База данных 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.

Примеры

А. Удаление одиночной базы данных

В следующем примере удаляется база данных Sales .

DROP DATABASE Sales; 

B. Удаление нескольких баз данных

Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

В следующем примере удаляется каждая из перечисленных баз данных.

DROP DATABASE Sales, NewSales; 

C. Удаление моментального снимка базы данных

Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

В следующем примере из базы данных удаляется моментальный снимок с именем sales_snapshot0600 без влияния на базу данных-источник.

DROP DATABASE sales_snapshot0600; 

D. Удаление базы данных после проверки ее существования

В следующем примере сначала проверяется, существует ли база данных с именем Sales . Если да, пример переводит базу данных с именем Sales в однопользовательский режим, чтобы применить принудительное отключение всех остальных сеансов, а затем удаляет базу данных. Дополнительные сведения о режиме SINGLE_USER см. в описании параметров ALTER DATABASE SET.

USE tempdb; GO DECLARE @SQL nvarchar(1000); IF EXISTS (SELECT 1 FROM sys.databases WHERE [name] = N'Sales') BEGIN SET @SQL = N'USE [Sales]; ALTER DATABASE Sales SET SINGLE_USER WITH ROLLBACK IMMEDIATE; USE [tempdb]; DROP DATABASE Sales;'; EXEC (@SQL); END; 

См. также

  • ALTER DATABASE
  • CREATE DATABASE
  • EVENTDATA
  • sys.databases

Удаление базы данных

В этой статье описывается удаление пользовательской базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

Предварительные условия

  • Удалите все моментальные снимки базы данных, которые существуют для базы. Дополнительные сведения см. в разделе «Удаление моментального снимка базы данных» (Transact-SQL).
  • Если база данных участвует в доставке журналов, удалите доставку журналов.
  • Если база данных публикуется для репликации транзакций, опубликована или подписана на репликацию слиянием, удалите репликацию из базы данных.

Прежде чем удалить ее, рассмотрите возможность создания полной резервной копии базы данных. Удаленная база данных может быть повторно создана только путем восстановления полной резервной копии. Дополнительные сведения см . в кратком руководстве по резервному копированию и восстановлению локальной базы данных SQL Server.

Безопасность

Разрешения

Для выполнения инструкции DROP DATABASE пользователь должен, как минимум, иметь разрешение CONTROL на базу данных.

Использование Azure Data Studio (предварительная версия)

Удаление базы данных
  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД SQL Server, а затем разверните этот экземпляр.
  2. Разверните базы данных, щелкните правой кнопкой мыши базу данных, чтобы удалить, а затем нажмите кнопку «Удалить«.
  3. Чтобы подтвердить удаление базы данных, нажмите кнопку «Да«.

Использование среды SQL Server Management Studio

Удаление базы данных
  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД SQL Server, а затем разверните этот экземпляр.
  2. Разверните базы данных, щелкните правой кнопкой мыши базу данных, чтобы удалить, а затем нажмите кнопку «Удалить«.
  3. Убедитесь, что выбрана правильная база данных, а затем нажмите кнопку «ОК«.

Использование Transact-SQL

Дополнительные сведения см. в разделе DROP DATABASE (Transact-SQL).

Удаление базы данных
  1. Соединитесь с ядром СУБД .
  2. На стандартной панели выберите пункт Создать запрос.
  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере удаляются Sales базы данных и NewSales базы данных.
USE master ; GO DROP DATABASE Sales, NewSales ; GO 

Дальнейшие действия. После удаления базы данных

Создать резервную копию базы данных master . Если master необходимо восстановить, любая база данных, которая была удалена с момента последней резервной master копии, по-прежнему будет содержать ссылки в представлениях системного каталога и может привести к возникновению сообщений об ошибках.

Ограничения

  • Системные базы данных не могут быть удалены.
  • Дополнительные сведения см. в разделе DROP DATABASE (Transact-SQL).

Далее

  • CREATE DATABASE (SQL Server Transact-SQL)
  • ALTER DATABASE (Transact-SQL)
  • DROP DATABASE (Transact-SQL)
  • Обзор восстановления и восстановления (SQL Server)

Как удалить базу данных

Чтобы удалить базу данных MySql через панель управления хостингом, нужно выполнить следующие действия:

  1. В панели управления хостингом в разделе «Главное», выбираем «Базы данных».

Переход в раздел базы данных для удаления базы с сервера

  1. Указываем нужную базу и нажимаем «Удалить».

Выбор нужной базы данных для удаления в ISPmanager

Подтверждение действия по удалению выбранной базы данных

Удалить базу данных в phpMyAdmin

Для того, чтобы удалить базу данных через phpMyAdmin, требуется зайти на главную страницу phpMyAdmin и выбрать нужную базу данных.

Главная страница phpMyAdmin

В открывшемся окне будет список таблиц, в верхнем меню выбираем «Операции» и жмем кнопку «Удалить базу данных (DROP)».

Удаление БД в phpMyAdmin

Далее откроется вкладка с подтверждением удаления. Нажимаем кнопку «Ок».

Подтверждение удаления БД в phpMyAdmin

База данных успешно удалена.

Успешное удаление БД в phpMyAdmin

Удалить базу данных запросом

Для того, чтобы удалить базу данных используется запрос DROP DATABASE, который имеет следующий вид:
DROP DATABASE имя_базы_данных; — пытается удалить базу данных, но если БД отсутствует сервер выдаст ошибку.
DROP DATABASE IF EXISTS имя_базы_данных; — пытается удалить базу данных, если на сервере имеется БД с таким именем.

МИР Visa MasterCard СБП QIWI Wallet Безналичный платеж

Все способы

© 2009–2024 «HANDYHOST.RU» 8-800-505-68-01

  • Услуги
  • Хостинг сайтов
  • Домены
  • Конструктор сайтов
  • Linux VPS / Windows VPS
  • Выделенные серверы
  • SSL сертификаты
  • Клиентам
  • Контакты
  • О компании
  • Акции
  • Оборудование
  • Партнерская программа
  • Поддержка
  • Способы оплаты
  • Регламент
  • Документы
  • Справка

Как удалить базу данных

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

Создание базы данных имеет следующий синтаксис:

MySQL
CREATE DATABASE имя_базы_данных; 

В качестве имени для базы данных можно использовать сочетания букв, цифр, а также символов "_" и "$". Имя может начинаться с цифр, но не может состоять только из них. Максимальная длина имени составляет 64 знака.

Проконтролировать создание базы данных можно с помощью оператора SHOW DATABASES .

MySQL
SHOW DATABASES; 
Database
user_table_1
user_table_2
information_schema
mysql
performance_schema
sys

Обратите внимание, что оператор SHOW DATABASES кроме пользовательских баз данных отображает также и служебные: information_schema, mysql, performance_schema, sys.

Удаление базы данных осуществляется с помощью оператора DROP DATABASE :

MySQL
DROP DATABASE имя_базы_данных; 

При создании базы данных или при её удалении может возникнуть ошибка, что база данных с таким именем уже существует (при создании) или, наоборот, данной базы данных не существует (при удалении). Для таких случаев существует конструкция IF [NOT] EXIST .

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

MySQL
CREATE DATABASE IF NOT EXIST имя_базы_данных; 

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


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *