Legjobb válasz
A SSMS :
Kattintson a jobb gombbal az adatbázisra.
Ugrás a “Feladatok” lehetőségre
Kattintson a “Szkriptek létrehozása” gombra
Az “Objektumok kiválasztása” részben válassza a “Teljes adatbázis és minden adatbázis-objektum parancsfájlja” lehetőséget.
A “Parancsfájl-beállítások megadása” részben kattintson a “Speciális” gombra
A “Script DROP and CREATE” kapcsolón kapcsolja a “Script CREATE” -et “Script DROP” -re, majd nyomja meg az OK gombot.
Ezután mentse fájlba, vágólapra vagy új lekérdezési ablakba.
Futtassa a szkriptet.
Ez most mindent eldob, beleértve az adatbázist is. Ügyeljen arra, hogy eltávolítsa a kódot azokhoz az elemekhez, amelyeket nem szeretne eldobni. Alternatív megoldásként az “Objektumok kiválasztása” részben az egész adatbázis szkriptelésének kiválasztása helyett válassza ki az eltávolítani kívánt elemeket.
A szkript segítségével:
SET @Cursor = CURSOR FAST\_FORWARD FOR
SELECT DISTINCT sql = "ALTER TABLE [" + tc2.TABLE\_SCHEMA + "].[" + tc2.TABLE\_NAME + "] DROP [" + rc1.CONSTRAINT\_NAME + "];"
FROM INFORMATION\_SCHEMA.REFERENTIAL\_CONSTRAINTS rc1
LEFT JOIN INFORMATION\_SCHEMA.TABLE\_CONSTRAINTS tc2 ON tc2.CONSTRAINT\_NAME =rc1.CONSTRAINT\_NAME
OPEN @Cursor FETCH NEXT FROM @Cursor INTO @Sql
WHILE (@@FETCH\_STATUS = 0)
BEGIN
Exec sp\_executesql @Sql
FETCH NEXT FROM @Cursor INTO @Sql
END
CLOSE @Cursor DEALLOCATE @Cursor
GO
EXEC sp\_MSforeachtable "DROP TABLE ?"
GO
https://stackoverflow.com/questions/8439650/how-to-drop-all-tables-in-a-sql-server-database/43128914
Válasz
Ez egy olyan véleményen alapuló válasz, aki megértette a jelenlegi informatikai piacot és technológiákat, és az SQL Server-t, valamint számos más adatbázis-technológiát használt a túl egy évtized: Az SQL Server jövője az SQL lekérdezési nyelvként való használatának jövőjétől függ. A relációs adatbázis-kezelő rendszerek, ahogy ismerjük őket, valójában nem sokat változtak az elmúlt két évtizedben, miközben szinte minden más számítástechnikai témakör megváltozott. Az SQL sikere benne rejlik az egyszerűségben, és az absztrakció alacsonyabb szintjein mindig szükségünk lesz egy ilyen technológiára. Azonban az SQL és az RDBMS egy csomó igényt “egyszerűen nem nyújt a jelenlegi formájában.” id = “b715de4fc9″>
Küzdenek, amikor a metaadatokkal rendelkező adattípusokról van szó. Például ez a dátum valakinek a születésnapját jelenti? Ez az nvarchar (50) e-mail címet jelent? Ez a két érték olyan dátumtartományt jelent, ahol az egyik elem nem lehet nagyobb, mint a másik? Az SQL Server ezt kiváltó tényezőkkel kezeli, de SOKKOR időigényes munka szükséges az ilyen jellegű kiváltó tényezők megvalósításához, hogy a vállalkozások gyakran kihagyják a munkát, és inkább szoftverrétegekre támaszkodnak a probléma megoldására. Ez a szervezeti és következetlenség hiányát eredményezi az egész projekt során. Nem kezelik a replikáció alapú igényeket elvont módon. Például két leválasztott rendszer esetén létre kell hozni egy új rekordot a táblázatban, milyen új IDENTITY kulcsot kell létrehozni? Ez a probléma megoldható összetett kulcsok vagy GUID-ek használatával, vagy egy csomó más módszerrel, de az SQL fogyasztóját zavarni kell ezeken a bonyolultságokon. Nem kezelik elvonatkoztatva a két időbeli időgazdálkodást. Például, ha nyomon kell követnie azt, ami szerintünk igazság volt még 2013 júliusában, de korrigált adatokat kell tárolnia 2013-ról, amelyeket csak 2016-ban tanultunk meg, így egy bonyolult séma létrehozása ennek kezelésére és a referenciális integritás fenntartására … Már vannak javaslatok arra, hogyan lehetne könnyebben kezelni ezt a problémát, de a jelenlegi gondolkodásmód nem nem oldja meg. Nem tesznek jó munkát az adatok “modelljének” beépítésével. A fizikai séma nem tesz jó munkát egyszerű dolgok, például “Ez a logikai elem” leírásában. érték igaz vagy hamis. “, vagy” Ez a dátum valószínűleg a következő hónapokban lesz, ezért használjon naptárvezérlőt, ahol ez a másik dátum a múlt éve lesz, ezért használjon legördülő listát a HH / nn / éééé “értékre. . Mivel ilyen számtalan ilyen “üzleti intelligencia” vagy “jelentéskészítő” eszközt építettek a rendszerek tetejére az ilyen képességek biztosítása érdekében, de ezek többsége még mindig saját tulajdonú, és évről évre változik, mivel egy nagyszerű megoldást még mindig mindenki számára elérhetővé kell tenni. monopol jellegű módon (olyan jó, hogy kiöli a versenyt és meghatározza a saját mércéjét). Nem foglalkoznak az adatok elfogadott stagyságával. Nincs egyszerű módja annak jelzésére, amikor adatokat kér, hogy a fürtön belüli kiszolgáló régebbi adatai lehetnek a régi elfogadható, ha gyorsabban megtalálható. Ez teljesítményproblémákat okoz, és ez az egyik elsődleges oka annak, hogy a “NoSQL” adatbázisok felbukkannak. Bár számos “NoSQL-technológia” megoldást kínál a probléma apró részeire, rengeteg olyan probléma létezik, amelyeket egyszerűen nem sikerült megoldani. Például az elosztott rendszerek nem működnek jól tranzakció alapú elkülönítéssel anélkül, hogy nagyobb teljesítményproblémákat vezetnének be.Vannak dolgok, amelyekről kommunikálhatunk, amikor kérdést teszünk fel az adatainkról, például az, hogy hány éves az adat elfogadható? Értesítést akarok kapni, ha ezek az adatok bármilyen okból megváltoznak? Lehetséges, hogy meg akarom változtatni azokat az adatokat, amelyeket a közeljövőben kértem, vagy egyszerűen csak olvasható, és nincs jövőbeli változtatási szándék? Számos más kérdés is van, de a fontos szempont itt van, hogy az SQL Server jövőjét a gazdaság, valamint az új ötletek elérhetősége és megvalósítása fogja vezérelni … Biztos vagyok benne, hogy van legalább 5-8 évünk, ahol az SQL továbbra is a legnépszerűbb módja a kérdések feltevésének. és kérni az adatok megváltoztatását – de vannak hiányosságai, és ez a számítási terület egy “új nagy dolog” miatt van. A lemezsebesség, a lemezméret költségének, a ram méretének a költsége és valószínűleg az az ötlet, hogy a “felhőalapú számítást” vertikális helyett vízszintes méretezéssel használja, mind új változók az adatok világában, amelyekkel a szoftverarchitektúra még mindig küzd felzárkózni. Az SQL Server jövője: fokozatos, de fenntartható változás az adatainkkal való hatékonyabb munkavégzésre. Valószínűleg meglátja a névváltozást és elfordul az SQL-től, mint lekérdezési nyelvtől, és egy erőteljesebb nyelv felé, amely jobban megoldja a modern szoftverépítész problémáit.