DROP DATABASE (Transact-SQL) - SQL Server | Microsoft Docs
文章推薦指數: 80 %
Azure SQL Database, Azure Synapse Analytics and Analytics Platform System Syntax DROP DATABASE database_name [;].
跳到主要內容
已不再支援此瀏覽器。
請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。
下載MicrosoftEdge
其他資訊
目錄
結束焦點模式
儲存
編輯
共用
Twitter
LinkedIn
Facebook
電子郵件
WeChat
目錄
DROPDATABASE(Transact-SQL)
09/14/2021
W
o
O
此頁面有所助益嗎?
請為您的體驗評分
Yes
No
還有其他意見反應嗎?
系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。
隱私權原則。
送出
謝謝。
本文內容
適用範圍:SQLServer(所有支援的版本)AzureSQLDatabaseAzureSQL受控執行個體AzureSynapseAnalytics是平行處理資料倉儲
可從一個SQLServer執行個體,移除一個或多個使用者資料庫或資料庫快照集。
Transact-SQL語法慣例
語法
--SQLServerSyntax
DROPDATABASE[IFEXISTS]{database_name|database_snapshot_name}[,...n][;]
--AzureSQLDatabase,AzureSynapseAnalyticsandAnalyticsPlatformSystemSyntax
DROPDATABASEdatabase_name[;]
注意
若要檢視SQLServer2014與更早版本的Transact-SQL語法,請參閱舊版文件。
引數
IFEXISTS
適用於:SQLServer(SQLServer2016(13.x)至目前版本)。
只有在資料庫已存在時,才能有條件地將其卸除。
database_name指定要移除的資料庫名稱。
若要顯示資料庫清單,請使用sys.databases目錄檢視。
database_snapshot_name
適用於:SQLServer2008及更新版本。
這是要移除的資料庫快照集名稱。
一般備註
無論資料庫的狀態為離線、唯讀或受到質疑等,都可以卸除該資料庫。
若要顯示資料庫的目前狀態,請使用sys.databases目錄檢視。
若要重新建立已經卸除的資料庫,只有還原備份一途。
資料庫快照集無法備份,因此也無法還原。
在卸除資料庫時,應該備份master資料庫。
卸除資料庫時,不但會從SQLServer執行個體中刪除該資料庫,同時也會刪除該資料庫所用的實體磁碟檔。
如果資料庫或其任何一個檔案在卸除時離線,磁碟檔就不會被刪除。
這些檔案可以利用[Windows檔案總管],以手動方式刪除。
若要從目前伺服器中移除資料庫,而不刪除檔案系統中的檔案,請使用sp_detach_db。
警告
卸除具有與其建立關聯之FILE_SNAPSHOT備份的資料庫會成功,但不會刪除具有相關聯快照集的資料庫檔案,以避免參考這些資料庫檔案的備份不正確。
檔案將會被截斷,但實體不會被刪除,以保存完整的FILE_SNAPSHOT備份。
如需詳細資訊,請參閱SQLServer備份及還原與MicrosoftAzureBlob儲存體服務。
適用於:SQLServer2016(13.x)到目前的版本。
SQLServer
卸除資料庫快照集時,會從SQLServer執行個體刪除資料庫快照集,並刪除快照集所使用的實體NTFS檔案系統疏鬆檔案。
如需資料庫快照集使用疏鬆檔案的資訊,請參閱資料庫快照集。
卸除資料庫快照集會清除SQLServer執行個體的計畫快取。
清除計畫快取會導致重新編譯所有後續執行計畫,而且可能會導致查詢效能突然暫時下降。
針對每次清除計畫快取的快取存放區,SQLServer錯誤記錄檔會包含下列資訊訊息:「由於某些資料庫維護或重新設定作業,SQLServer的'%s'快取存放區(計畫快取的一部分)發生%d次快取存放區排清」。
只要在該時間間隔內快取發生排清,這個訊息就會每五分鐘記錄一次。
互通性
SQLServer
若要卸除針對異動複寫而發行的資料庫,或是針對合併式複寫而發行或訂閱的資料庫,必須先從該資料庫移除複寫。
如果資料庫損毀,或者無法先移除複寫,或者兩種情況都有,多半還是能夠卸除資料庫,方法是利用ALTERDATABASE,將資料庫設為離線,然後再卸除它。
如果資料庫有涉及記錄傳送,請在卸除資料庫之前移除記錄傳送。
如需詳細資訊,請參閱關於記錄傳送。
限制事項
無法卸除系統資料庫。
DROPDATABASE陳述式必須執行自動認可模式,且不能在明確或隱含的交易中。
自動認可模式是預設的交易管理模式。
警告
您無法卸除目前正在使用的資料庫。
這表示鎖定被保留供任何使用者讀取或寫入。
從資料庫移除使用者的一種方法是使用ALTERDATABASE將資料庫設為SINGLE_USER。
在此策略中,您應該在相同的批次中執行ALTERDATABASE和DROPDATABASE,以避免另一個宣告允許單一使用者會話的連接。
請參閱下面的範例D。
SQLServer
在卸除資料庫之前,必須先卸除該資料庫上的任何資料庫快照集。
卸除針對StretchDatabase所啟用的資料庫,並不會移除遠端資料。
如果您想要刪除遠端資料,則必須手動將它移除。
AzureSQLDatabase
您必須連接至master資料庫,才能卸除資料庫。
DROPDATABASE陳述式必須是SQL批次中的唯一陳述式,而且您一次只能卸除一個資料庫。
AzureSynapseAnalytics
您必須連接至master資料庫,才能卸除資料庫。
DROPDATABASE陳述式必須是SQL批次中的唯一陳述式,而且您一次只能卸除一個資料庫。
權限
SQLServer
需要資料庫的CONTROL權限,或是ALTERANYDATABASE權限,或db_owner固定資料庫角色的成員資格。
AzureSQLDatabase
只有伺服器層級主體登入(由佈建程序所建立)或dbmanager資料庫角色成員才能卸除資料庫。
AnalyticsPlatformSystem(PDW)
需要資料庫的CONTROL權限,或是ALTERANYDATABASE權限,或db_owner固定資料庫角色的成員資格。
範例
A.卸除單一資料庫
下列範例會移除Sales資料庫。
DROPDATABASESales;
B.卸除多個資料庫
適用對象:SQLServer2008及更新版本。
下列範例會移除每一個列出的資料庫。
DROPDATABASESales,NewSales;
C.卸除資料庫快照集
適用對象:SQLServer2008及更新版本。
下列範例會移除名為sales_snapshot0600的資料庫快照集,而不會影響來源資料庫。
DROPDATABASEsales_snapshot0600;
D.檢查資料庫是否存在之後卸載資料庫
下列範例會先檢查名為的資料庫是否Sales存在。
若是如此,此範例會將名為Sales單一使用者模式的資料庫變更為強制中斷所有其他會話的連接,然後卸載資料庫。
如需SINGLE_USER的詳細資訊,請參閱ALTERDATABASESET選項。
USEtempdb;
GO
DECLARE@SQLnvarchar(1000);
IFEXISTS(SELECT1FROMsys.databasesWHERE[name]=N'Sales')
BEGIN
SET@SQL=N'USE[Sales];
ALTERDATABASESalesSETSINGLE_USERWITHROLLBACKIMMEDIATE;
USE[tempdb];
DROPDATABASESales;';
EXEC(@SQL);
END;
另請參閱
ALTERDATABASE
CREATEDATABASE
EVENTDATA
sys.databases
本文內容
延伸文章資訊
- 1【實用】drop someone off / drop by / drop-in 輕鬆學會八個 ...
Could you drop me off at school? drop 不是只有「落下」的意思, drop 還能組成許多生活常見用語。 趕快一起來看看,讓你的英文更貼近外國人!
- 2drop - 用法_例句 - 海词词典
drop的基本意思是「落下」「投下」,表示某物體以垂直方向突然或偶然落下,通常強調下落的速度、直接性、突然性和偶然性,而這種「落下」的原因則可以源於地心引力,也可以是 ...
- 3drop - Yahoo奇摩字典搜尋結果
drop · n. (一)滴[C];點滴,微量[C] · vt. 使滴下;丟下,扔下;降低 · vi. 滴下;落下;掉下;(價格,溫度等)下降;(聲音,風等)變弱 ...
- 4DROP DATABASE (Transact-SQL) - SQL Server | Microsoft Docs
Azure SQL Database, Azure Synapse Analytics and Analytics Platform System Syntax DROP DATABASE da...
- 5Drop - 維基百科,自由的百科全書
Drop被認為是電子舞曲的高潮部分。 ... 另一種編曲技巧是Anti-Drop, 是在副歌部分把編曲簡化成節奏(鼓、貝斯)和人聲(主音聲樂、口哨),達到淨化和空間感。