Paras vastaus
Sisään SSMS :
Napsauta hiiren kakkospainikkeella tietokantaa
Siirry ”Tehtävät”
Napsauta ”Luo komentosarjoja”
Valitse ”Valitse objektit” -osiossa ”Komentosarjan koko tietokanta ja kaikki tietokantaobjektit”.
Napsauta ”Aseta komentosarjan asetukset” -osassa ”Lisäasetukset” -painiketta.
Vaihda ”Script DROP and CREATE” -kohdassa ”Script CREATE” -asetukseksi ”Script DROP” ja paina OK
Sitten joko tallenna tiedostoon, leikepöydälle tai uuteen kyselyikkunaan.
Suorita komentosarja.
Tämä pudottaa kaiken, myös tietokannan. Varmista, että poistat niiden kohteiden koodin, joita et halua pudottaa. Vaihtoehtoisesti valitse ”Valitse objektit” -osiossa sen sijaan, että valitset komentosarjan koko tietokannalle, valitse poistettavat kohteet.
Komentosarjan avulla :
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
vastaus
Tämä on mielipiteisiin perustuva vastaus joltakin, joka ymmärtää nykyiset IT-markkinat ja tekniikat ja on käyttänyt SQL Serveriä sekä muita tietokantatekniikoita yli vuosikymmen: SQL Serverin tulevaisuus riippuu SQL: n käytön tulevaisuudesta kyselykielenä. Suhteelliset tietokannan hallintajärjestelmät sellaisina kuin ne tunnemme, eivät ole oikeastaan muuttuneet paljoakaan viimeisen kahden vuosikymmenen aikana, vaikka melkein kaikki muut laskentaan liittyvät aiheet ovat. SQL: n menestys on sen yksinkertaisuus ja alemmilla abstraktiotasoilla tarvitsemme aina tällaista tekniikkaa. On kuitenkin kourallinen tarpeita, joita SQL ja RDBMS ”eivät yksinkertaisesti tarjoa nykyisessä muodossaan. He kamppailevat metatietojen sisältämien tietotyyppien kanssa. Esimerkiksi, edustako tämä päivämäärä jonkun syntymäpäivää? Onko tämä nvarchar (50) sähköpostiosoite? Ovatko nämä kaksi arvoa ajanjaksoa, jolloin yhden kohteen ei pitäisi olla suurempi kuin toinen? SQL Server hoitaa tämän liipaisimilla, mutta tällaisten laukaisimien saamiseen liittyy niin paljon aikaa vievää työtä, että yritykset usein ohittavat työn ja luottavat ohjelmistokerroksiin ongelman ratkaisemiseksi. Tämä aiheuttaa organisaation puutetta ja johdonmukaisuutta koko projektin ajan. Ne eivät käsittele replikointiin perustuvia tarpeita abstraktilla tavalla. Esimerkiksi kahden erillisen järjestelmän on luotava uusi tietue taulukkoon, mikä uusi IDENTITY-avain tulisi luoda? Tämä ongelma voidaan ratkaista käyttämällä yhdistelmäavaimia tai GUID-tunnuksia tai muutamalla muulla tavalla, mutta nämä monimutkaisuudet ovat vaivautuneet SQL-asiakkaalle. He eivät käsittele kaksiaikaisia aikahallintoja abstraktisti. Esimerkiksi, jos sinun on seurattava totuutta, jonka luulimme olevan totuus jo heinäkuussa 2013, mutta on myös tallennettava korjatut tiedot vuodelta 2013, joita emme oppineet vasta vuonna 2016, luomalla kaava tämän käsittelemiseksi ja viite-eheyden ylläpitämiseksi on melko monimutkaista … On jo ehdotuksia siitä, miten tehdä tästä ongelmasta helpompaa käsitellä, mutta nykyinen ajattelutapa tekee ei ratkaise sitä. He eivät tee hyvää työtä sisällyttääkseen tietosi ”mallin”. Fyysinen skeema ei osaa kuvata yksinkertaisia asioita, kuten ”Tämä Boolean”. arvo edustaa tosi tai epätosi. ”tai” Tämä päivämäärä todennäköisesti tulee olemaan lähikuukausina, joten käytä kalenteriohjainta, jos tämä toinen päivämäärä tulee olemaan menneisyydessä vuosia, joten käytä avattavia valintoja kk / pp / vvvv ” . Koska näiden järjestelmien päälle on rakennettu niin lukuisia ”liiketoimintatiedon” tai ”raportoinnin” työkaluja, jotka tarjoavat tällaisen mahdollisuuden, mutta suurin osa niistä on edelleen omistettuja ja muuttuvat vuosi vuodelta, koska kaikkien on vielä saatava loistava ratkaisu monopolistisella tavalla (niin hyvä, että se tappaa kilpailun ja asettaa omat standardinsa). He eivät käsittele hyväksyttyä tietojen paikkansapitävyyttä. Ei ole helppoa tapaa ilmoittaa, kun pyydät tietoja, että klusterin palvelimen vanhemmat tiedot saattavat olla vanha on hyväksyttävää, jos se löytyy nopeammin. Tämä aiheuttaa suorituskykyongelmia ja on yksi ensisijaisista syistä ”NoSQL” -tietokantojen esiin nousemiseen. Vaikka lukuisat ”NoSQL-tekniikat” tarjoavat ratkaisuja pieniin osiin ongelmaa, on paljon ongelmia, joita ei yksinkertaisesti ole ratkaistu. Esimerkiksi hajautetut järjestelmät eivät toimi hyvin tapahtumapohjaisen eristämisen kanssa aiheuttamatta merkittäviä suorituskykyongelmia.Voisimme kommunikoida, kun tiedustelemme tietoja, kuten kuinka vanha tieto on hyväksyttävää? Haluan saada ilmoituksen, jos nämä tiedot muuttuvat jostain syystä? Onko mahdollista, että haluan muuttaa tietoja, joita pyydän lähitulevaisuudessa, vai onko tämä vain luettavaa vain ilman tulevaisuuden muutostarkoitusta? On myös lukuisia muita asioita, mutta tärkeä asia tässä on, että SQL Serverin tulevaisuutta ohjaa talous ja uusien ideoiden saatavuus ja toteutus … Olen varma, että meillä on vähintään 5-8 vuotta, jolloin SQL on edelleen suosituin tapa esittää kysymys tietosi ja pyytää tietojen muuttamista – mutta sillä on puutteita ja tämä laskentatoiminta johtuu ”uudesta suuresta asiasta”. Levyn nopeuden, levyn koon kustannusten, ram-koon ja kustannusten kehitys ja luultavasti ennen kaikkea ajatus ”pilvipalvelujen” käytöstä skaalattamalla vaakasuoraan pystysuoran sijasta ovat kaikki uusia muuttujia tietomaailmassa, jota ohjelmistoarkkitehtuuri kamppailee edelleen kiinni. SQL Serverin tulevaisuus on: asteittainen mutta kestävä muutos tehokkaampaan tapaan työskennellä tietojemme kanssa. Se todennäköisesti näkee nimenmuutoksen ja kääntyy pois SQL: stä kyselykielenä ja kohti tehokkaampaa kieltä, joka ratkaisee paremmin nykyaikaisten ohjelmistoarkkitehtien kohtaamat ongelmat.