как удалить пользовательскую базу данных в sql server 2005?

#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;
  

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