DROP DATABASE (Transact-SQL), Microsoft Docs

Премахва една или повече бази данни или моментни снимки на база данни от екземпляр на SQL Server.

Синтактични означения в Transact-SQL

За да използвате оператора DROP DATABASE, контекстът на прикачената база данни трябва да е различен от контекста на базата данни, която се премахва, или моментната снимка на базата данни.

Операторът DROP DATABASE трябва да се изпълни в режим на автоматично предаване и не е разрешен в явна или скрита транзакция. Режимът на автоматично ангажиране е режимът за контрол на транзакциите по подразбиране. За повече информация вижте Автоматично извършване на транзакции.

Изтриване на база данни

Когато една база данни бъде премахната, тя се премахва от екземпляра на SQL Server и нейните физически файлове се премахват от диска. Ако базата данни или един от нейните файлове е офлайн по време на изтриването, файловете не се изтриват от диска. Тези файлове могат да бъдат изтрити ръчно с помощта на Windows Explorer. Използвайте sp_detach_db, за да премахнете база данни от текущия сървър, без да премахвате файлове от файловата система.

Не е възможно да премахнете база данни, която се използва в момента. Такава база данни може да се използва от всеки потребител за четене или запис на данни. За да прекъснете връзката между потребители и база данни, използвайте оператора ALTER DATABASE, за да поставите базата данни в режим SINGLE_USER.

Всички моментни снимки на база данни трябва да бъдат премахнати, преди базата данни да бъде премахната.

Ако базата данни участва в доставката на регистрационни файлове, отменете доставката на регистрационни файлове, преди да премахнете базата данни. За повече информация вижте Доставка на трупи.

Изтриване на моментна снимка на база данни

Изтриването на моментна снимка на база данни я премахва отекземпляр на SQL Server и неговите физически редки файлове се премахват от файловата система NTFS. За повече информация относно това как моментните снимки на бази данни използват разредени файлове, вижте Как работят моментните снимки на бази данни.

Изтриването на моментна снимка на база данни изчиства кеша на плана за екземпляра на SQL Server. Изчистването на кеша на плана кара всички следващи планове за изпълнение да бъдат повторно компилирани и води до неочаквано, временно намаляване на производителността на обработката на заявки. В SQL Server 2005 SP2, за всяко кеш хранилище в кеша на плана, който е изчистен, регистрационният файл за грешка на SQL Server съдържа следното информационно съобщение: „SQL Server намери %d екземпляра на кеш хранилища, изчистени на диска за кеш хранилище „%s“ (част от кеша на плана) в резултат на операции по поддръжка или преконфигуриране на база данни. Това съобщение се регистрира на всеки пет минути, когато кешът се изчисти през този интервал от време.

Премахване на база данни, използвана при репликация

Разрешения

За да изпълни оператора DROP DATABASE, потребителят трябва най-малко да има CONTROL разрешение за базата данни.

A. Изтриване на една база данни

Следният пример премахва базата данни Sales.

Б. Изтриване на множество бази данни

Следващият пример премахва всяка от изброените бази данни.

C. Изтриване на моментна снимка на база данни

Следващият пример премахва моментна снимка с име sales_snapshot0600 от база данни, без да засяга изходната база данни.