Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Eltávolít egy vagy több felhasználói adatbázist vagy adatbázis pillanatképet az SQL Server adatbázismotor egyik példányából.
Transact-SQL szintaxis konvenciók
Syntax
SQL Server szintaxis.
DROP DATABASE [ IF EXISTS ] { database_name | database_snapshot_name } [ ,...n ]
[ ; ]
Azure SQL Database, Azure Synapse Analytics ja Analytics Platform System syntax.
DROP DATABASE database_name
[ ; ]
Arguments
HA LÉTEZIK
Vonatkozik: SQL Server 2016 (13.x) és újabb verziók
Feltételesen csak akkor ejti el az adatbázist, ha már létezik.
database_name
Megadja az eltávolítandó adatbázis nevét. Az adatbázisok listájának megjelenítéséhez használja a sys.databases katalógus nézetet.
database_snapshot_name
Megadja az adatbázis pillanatképének nevét, amelyet törölni kell.
Remarks
Egy adatbázis függetlenül eltávolítható állapotától: offline, csak olvasható, gyanús és így tovább. Az adatbázis aktuális állapotának megjelenítéséhez használja a sys.databases katalógus nézetet.
Egy kidobott adatbázis csak egy biztonsági mentés visszaállításával hozható létre újra. Az adatbázis pillanatképek nem menthetők le, ezért nem lehet visszaállítani.
Amikor egy adatbázist kiesnek, a fő adatbázist le kell menteni.
Az adatbázis eltávolítása törli az adatbázist az SQL Server egy példányáról, és törli az adatbázis által használt fizikai lemezfájlokat. Ha az adatbázis vagy bármelyik fájlja offline van, amikor elengedik, a lemezfájlok nem törülnek. Ezeket a fájlokat manuálisan törölhetjük egy fájlkezelővel, például a Fájlkezelővel. Ha eltávolítani akarsz adatbázist a jelenlegi szerverről anélkül, hogy törölnéd a fájlokat, használd a sp_detach_db-t.
Warning
Az SQL Server 2016 (13.x) és későbbi verziókban sikeres lesz egy olyan adatbázis eltávolítása, amelyhez FILE_SNAPSHOT biztonsági mentések tartoznak, de a kapcsolódó pillanatképeket tartalmazó adatbázis-fájlokat nem töröljük, hogy elkerüljék az ezekre az adatbázis-fájlokra vonatkozó biztonsági mentések érvénytelenítését. A fájlt lerövidítik, de fizikailag nem törlik, hogy a FILE_SNAPSHOT biztonsági mentések érintetlenek maradjanak. További információért lásd: SQL Server backup and restore with Azure Blob Storage.
SQL Server
Az adatbázis snapshot eldobása törli az SQL Server egyik példányából származó adatbázis snapshotját, és törli a snapshot által használt fizikai NTFS fájlrendszer ritka fájljait. A ritka fájlok adatbázis-pillanatképek használatával kapcsolatos információkért lásd: Adatbázis snapshotok (SQL Server). Az adatbázis pillanatkép eldobása törli a bejegyzéseket a tervgyorsítótárból, amely az adatbázis snapshotjához tartozik, nem az egész példányból. A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja.
Minden kiürített cachestore-re a terv gyorsítótárában az SQL Server hibanaplója tartalmazza a következő információs üzenetet. Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer.
SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
Interoperabilitás
SQL Server
Ha egy tranzakciós replikációra közzétett adatbázist vagy merge replikációra előrendelt adatbázist kell eltávolítani, először el kell távolítanod a replikációt az adatbázisból. Ha egy adatbázis sérült, vagy a replikációt nem lehet először eltávolítani (vagy mindkettő), a legtöbb esetben még mindig el lehet ejteni az adatbázist úgy ALTER DATABASE , hogy offline lesz, majd lezárod.
Ha az adatbázis részt vesz a napló szállításában, távolítsd el a napló szállítását, mielőtt ledobnád az adatbázist. További információt a Napló áttelepítése (SQL Server)témakörben talál.
Limitations
A rendszeradatbázisokat nem lehet megszüntetni.
Az állításnak DROP DATABASE automatikus commitási módban kell futnia, és nem engedélyezett explicit vagy implicit tranzakcióban. Az automatikus kötelező mód az alapértelmezett tranzakciókezelési mód.
Warning
Nem lehet kidobni egy jelenleg használt adatbázist. Ez azt jelenti, hogy bármely felhasználó zárat tart olvasás vagy írás céljából. Az egyik módja annak, hogy eltávolítsd a felhasználókat az adatbázisból, ALTER DATABASE ha SINGLE_USER-re állítod be az adatbázist. Ebben a stratégiában a és DROP DATABASE rendszert ugyanabban a kötetben kell végrehajtaniALTER DATABASE, hogy elkerüld a másik kapcsolatot, amely egy felhasználós ülés engedélyezettségét állítja. További információért lásd D példát.
SQL Server
Az adatbázis bármely pillanatképét el kell hagyni, mielőtt az adatbázist eltávolíthatnánk.
Ha egy adatbázis engedélyezett lenne a Stretch Database-ben, nem távolítja el a távoli adatokat. Ha törölni akarod a távoli adatokat, manuálisan kell eltávolítanod.
Important
A Stretch Database elavult az SQL Server 2022 -ben (16.x) és az Azure SQL Database-ben. Ez a funkció az adatbázismotor egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
Azure SQL Database
Ahhoz, hogy az adatbázist elengedje, csatlakoznod kell master az adatbázishoz.
Az utasításnak DROP DATABASE kell lennie az egyetlen utasításnak egy SQL batchben, és egyszerre csak egy adatbázist lehet kidobni.
Azure Synapse Analytics
Ahhoz, hogy az adatbázist elengedje, csatlakoznod kell master az adatbázishoz.
Az utasításnak DROP DATABASE kell lennie az egyetlen utasításnak egy SQL batchben, és egyszerre csak egy adatbázist lehet kidobni.
Permissions
SQL Server
Megköveteli az CONTROL adatbázis engedélyét, ALTER ANY DATABASE vagy a db_owner fix adatbázis szerepének tagságát.
Azure SQL Database
Csak a szerverszintű fő bejelentkezés (amelyet a provisioning folyamat hozott létre) vagy a dbmanager adatbázis szerepének tagjai dobhatnak el adatbázist.
Elemzési platformrendszer (PDW)
Megköveteli az CONTROL adatbázis engedélyét, ALTER ANY DATABASE vagy a db_owner fix adatbázis szerepének tagságát.
Examples
A. Egyetlen adatbázis eltávolítása
A következő példa eltávolítja az adatbázist Sales .
DROP DATABASE Sales;
B. Több adatbázis eltávolítása
A következő példa eltávolítja az összes felsorolt adatbázist.
DROP DATABASE Sales, NewSales;
C. Dobj ki egy adatbázis-pillanatképet
A következő példa eltávolít egy adatbázis pillanatképet, amelynek neve sales_snapshot0600, anélkül, hogy befolyásolná a forrás adatbázist.
DROP DATABASE sales_snapshot0600;
D. Dobj el egy adatbázist, miután ellenőrizte, létezik-e
A következő példa először ellenőrzi, hogy létezik-e nevű Sales adatbázis. Ha igen, a példa megváltoztatja az adatbázis nevét Sales egyfelhasználós módra, hogy minden más munkamenetet leszakítson, majd kiesik az adatbázis. További információért SINGLE_USER a lehetőségek megtekintéseALTER DATABASE SET.
USE tempdb;
GO
DECLARE @SQL AS 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;';
EXECUTE (@SQL);
END