#sql-server-2005 #sql-server-2008
#sql-server-2005 #sql-server-2008
Вопрос:
Я пытаюсь удалить пользовательскую базу данных, вот так:
create database demo;
drop database demo;
Но я получаю сообщение об ошибке
Не удается удалить базу данных ‘demo’, потому что она не существует или у вас нет разрешения.
Комментарии:
1. В вашем коде нет ничего плохого, поэтому я предполагаю, что у вас нет разрешений на удаление базы данных.
Ответ №1:
Одним из способов разобраться с этим может быть запуск
SELECT name FROM sys.databases
чтобы проверить, существует ли база данных.
Несколько полезных советов из MSDN:
- Для использования
DROP DATABASE
контекст подключения к базе данных не может совпадать с базой данных, которую нужно удалить. Вы могли бы изменить свой контекст на, напримерUSE master
перед запускомDROP
- Для выполнения
DROP DATABASE
, как минимум, пользователь должен иметьCONTROL
разрешение на базу данных.
Там вы можете найти другую полезную информацию, которая применима к вашей конкретной ситуации.
Ответ №2:
create database demo;
drop database demo;
В приведенном выше коде, если база данных удалена и снова попытаться удалить базу данных, которая не существует, вы получите ошибку, как вы упомянули