Come eliminare tutte le tabelle da un database SQL Server


Migliore risposta

In SSMS :

Fai clic con il pulsante destro del mouse sul database

Vai a “Attività”

Fai clic su “Genera script”

Nella sezione “Scegli oggetti”, seleziona “Esegui script dellintero database e di tutti gli oggetti del database”

Nella sezione “Imposta opzioni di scripting”, fai clic sul pulsante “Avanzate”

Su “Script DROP and CREATE” cambia “Script CREATE” in “Script DROP” e premi OK

Quindi, salva su file, appunti o nuova finestra di query.

Esegui script.

Ora, questo eliminerà tutto, incluso il database. Assicurati di rimuovere il codice per gli elementi che non vuoi eliminare. In alternativa, nella sezione “Scegli oggetti”, invece di selezionare lo script dellintero database, seleziona gli elementi che desideri rimuovere.

Con laiuto dello script :

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

Risposta

Questa è una risposta basata sullopinione di qualcuno che comprende il mercato e le tecnologie IT attuali e ha utilizzato SQL Server e varie altre tecnologie di database per su di un decade: il futuro di SQL Server dipenderà dal futuro dellutilizzo di SQL come linguaggio di query. I sistemi di gestione di database relazionali così come li conosciamo non sono cambiati molto negli ultimi due decenni, mentre quasi tutti gli altri argomenti relativi al computing lo sono. Il successo di SQL sta nella sua semplicità ea livelli più bassi di astrazione avremo sempre bisogno di una tecnologia come questa. Tuttavia, ci sono una manciata di bisogni che SQL e RDBMS “semplicemente non forniscono” nella loro forma attuale. Hanno difficoltà quando si tratta di tipi di dati con metadati. Ad esempio, questa data rappresenta il compleanno di qualcuno? Questo nvarchar (50) rappresenta un indirizzo email? Questi due valori rappresentano un intervallo di date in cui un elemento non deve essere maggiore dellaltro? SQL Server gestisce questo con i trigger, ma per ottenere questo tipo di trigger è richiesto TANTO tempo che le aziende spesso saltano il lavoro e fanno affidamento su livelli software per risolvere questo problema. Ciò crea una mancanza di organizzazione e coerenza in tutto il progetto. Non gestiscono le esigenze basate sulla replica in modo astratto. Ad esempio di due sistemi disconnessi che devono creare un nuovo record in una tabella, quale nuova chiave IDENTITY dovrebbe essere generata? Questo problema può essere risolto utilizzando chiavi composite o GUID o una manciata di altri modi, ma il consumatore di SQL deve essere infastidito da queste complessità. Non gestiscono la gestione del tempo bi-temporale in modo astratto. Ad esempio, se devi tenere traccia di ciò che pensavamo fosse la verità nel luglio 2013, ma anche bisogno di memorizzare dati corretti sul 2013 che non abbiamo appreso fino al 2016, creare uno schema per gestirlo e mantenere lintegrità referenziale è piuttosto complesso … Ci sono già proposte su come rendere questo problema più facile da affrontare ma lattuale mentalità sì non risolverlo. Non fanno un buon lavoro nellincorporare un “Modello” dei tuoi dati. Lo schema fisico non fa un buon lavoro nel descrivere cose semplici come “Questo booleano il valore rappresenta un vero o falso. “, oppure” Questa data sarà probabilmente nei prossimi mesi, quindi utilizza un controllo del calendario in cui questaltra data sarà anni nel passato, quindi utilizza i menu a discesa per mm / gg / aaaa ” . In quanto tali numerosi strumenti di “Business intelligence” o “reporting” sono stati costruiti su questi sistemi per fornire tale capacità, ma la maggior parte di questi sono ancora proprietari e cambiano di anno in anno poiché una grande soluzione deve ancora essere messa a disposizione di tutti in modo monopolistico (così buono che uccide la concorrenza e stabilisce i propri standard). Non si occupano della stantia accettata dei dati. Non esiste un modo semplice per indicare quando richiedi dati che i dati più vecchi in un server allinterno di un cluster potrebbero essere vecchio è accettabile se può essere trovato più rapidamente. Ciò causa problemi di prestazioni ed è uno dei motivi principali per cui i database “NoSQL” sono stati visualizzati. Sebbene numerose “tecnologie NoSQL” forniscano soluzioni per piccole parti di questo problema, ci sono molti problemi che semplicemente non sono stati risolti. Ad esempio, i sistemi distribuiti non funzionano bene con lisolamento basato sulle transazioni senza introdurre problemi di prestazioni importanti.Ci sono cose che potremmo comunicare quando poniamo una domanda sui nostri dati, ad esempio quanti anni di dati sono accettabili? Voglio essere avvisato se questi dati cambiano per qualsiasi motivo? È possibile che io voglia modificare i dati che sto chiedendo nel prossimo futuro o si tratta semplicemente di una sola lettura senza future intenzioni di cambiamento? Ci sono anche numerosi altri problemi, ma il punto importante ecco che il futuro di SQL Server sarà guidato dalleconomia, dalla disponibilità e dallimplementazione di nuove idee … Sono sicuro che abbiamo un minimo di 5-8 anni in cui SQL rimane il modo più popolare per porre una domanda i tuoi dati e chiedere che i tuoi dati vengano modificati – ma ha dei difetti e questarea dellinformatica è dovuta a una “Nuova grande cosa”. I progressi nella velocità del disco, la dimensione del disco per il costo, la dimensione della ram per il costo e probabilmente soprattutto lidea di utilizzare il “cloud computing” scalando orizzontalmente anziché verticalmente sono tutte nuove variabili nel mondo dei dati su cui larchitettura software sta ancora lottando mettersi al passo con. Il futuro di SQL Server è: cambiamento graduale ma sostenibile verso un modo più efficiente di lavorare con i nostri dati. È probabile che si verifichi un cambio di nome e un allontanamento da SQL come linguaggio di query e verso un linguaggio più potente che risolva meglio i problemi che si presentano al moderno architetto del software.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *