Comment supprimer toutes les tables dune base de données SQL Server


Meilleure réponse

In SSMS :

Faites un clic droit sur la base de données

Allez dans « Tâches »

Cliquez sur « Générer des scripts »

Dans la section « Choisir les objets », sélectionnez « Script toute la base de données et tous les objets de la base de données »

Dans la section « Définir les options de script », cliquez sur le bouton « Avancé »

Sur « Script DROP et CREATE », basculez « Script CREATE » sur « Script DROP » et appuyez sur OK

Ensuite, enregistrez dans un fichier, le presse-papiers ou une nouvelle fenêtre de requête.

Exécutez le script.

Maintenant, cela supprimera tout, y compris la base de données. Assurez-vous de supprimer le code des éléments que vous ne souhaitez pas supprimer. Sinon, dans la section « Choisir des objets », au lieu de sélectionner pour script toute la base de données, sélectionnez simplement les éléments que vous souhaitez supprimer.

A laide du 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

Réponse

Il sagit dune réponse basée sur lopinion dune personne qui comprend le marché et les technologies informatiques actuels et a utilisé SQL Server ainsi que diverses autres technologies de base de données pour au cours dune décennie: Lavenir de SQL Server dépendra de lavenir de lutilisation de SQL comme langage de requête. Les systèmes de gestion de bases de données relationnelles tels que nous les connaissons nont pas vraiment beaucoup changé au cours des deux dernières décennies, contrairement à presque tous les autres sujets liés à linformatique. Le succès de SQL réside dans sa simplicité et à des niveaux inférieurs dabstraction, nous aurons toujours besoin dune technologie comme celle-ci. Cependant, il existe une poignée de besoins que SQL et SGBDR «ne répondent tout simplement pas» dans leur forme actuelle. Ils ont du mal quand il sagit de types de données avec des métadonnées. Par exemple, cette date représente-t-elle lanniversaire de quelquun? Ce nvarchar (50) représente-t-il une adresse e-mail? Ces deux valeurs représentent-elles une plage de dates dans laquelle un élément ne doit pas être supérieur à lautre? SQL Server gère cela avec des déclencheurs, mais la mise en place de ce type de déclencheurs nécessite tellement de temps que les entreprises ignorent souvent le travail et sappuient sur des couches logicielles pour résoudre ce problème. Cela crée un manque dorganisation et de cohérence tout au long dun projet. Ils ne gèrent pas les besoins basés sur la réplication de manière abstraite. Par exemple, si deux systèmes déconnectés doivent créer un nouvel enregistrement dans une table, quelle nouvelle clé IDENTITY doit être générée? Ce problème peut être résolu en utilisant des clés composites ou des GUID ou une poignée dautres moyens, mais le consommateur de SQL doit être dérangé par ces complexités. Ils ne gèrent pas la gestion bi-temporelle du temps de manière abstraite. Par exemple, si vous avez besoin de garder une trace de ce que nous pensions être la vérité en juillet 2013 mais également besoin de stocker des données corrigées sur 2013 que nous navons apprises quen 2016, créer un schéma pour gérer cela et maintenir lintégrité référentielle est assez complexe … Il y a déjà des propositions sur la façon de rendre ce problème plus facile à traiter mais létat desprit actuel le fait pas le résoudre. Ils ne font pas un bon travail en incorporant un « modèle » de vos données. Le schéma physique ne fait pas un bon travail pour décrire des choses simples comme « Ce booléen valeur représente un vrai ou un faux. « , ou » Cette date sera probablement dans les prochains mois, alors utilisez un contrôle de calendrier où cette autre date sera des années dans le passé, utilisez des listes déroulantes pour mm / jj / aaaa  » . En tant que tels, de nombreux outils de «Business Intelligence» ou de «reporting» ont été construits sur ces systèmes pour fournir une telle capacité, mais la plupart dentre eux sont toujours propriétaires et changent dannée en année car une excellente solution doit encore être mise à la disposition de tous. de manière monopolistique (si bonne quelle tue la concurrence et définit ses propres normes). Ils ne traitent pas de lobsolescence acceptée des données. Il ny a pas de moyen facile dindiquer lorsque vous demandez des données que des données plus anciennes dans un serveur au sein dun cluster pourraient être ancien est acceptable sil peut être trouvé plus rapidement. Cela entraîne des problèmes de performances et est lune des principales raisons pour lesquelles les bases de données «NoSQL» ont été créées. Alors que de nombreuses «technologies NoSQL» fournissent des solutions pour de minuscules parties de ce problème, il y a beaucoup de problèmes qui nont tout simplement pas été résolus. Par exemple, les systèmes distribués ne fonctionnent pas bien avec lisolation basée sur les transactions sans introduire de problèmes de performances majeurs.Il y a des choses que nous pourrions communiquer lorsque nous posons une question sur nos données telles que, quel âge des données est acceptable? Dois-je être averti si ces données changent pour une raison quelconque? Est-il possible que je veuille modifier les données que je demande dans un proche avenir ou sagit-il simplement dune lecture seule sans intention future de changement? Il y a aussi de nombreux autres problèmes, mais le point important voici que l avenir de SQL Server sera guidé par l économie et la disponibilité et la mise en œuvre de nouvelles idées … Je suis sûr que nous avons un minimum de 5 à 8 ans où SQL reste le moyen le plus populaire de poser une question de vos données et de demander que vos données soient modifiées – mais cela présente des lacunes et ce domaine de linformatique est dû pour une «nouvelle grande chose». Les progrès de la vitesse du disque, la taille du disque pour le coût, la taille de la RAM pour le coût, et probablement surtout lidée dutiliser le «cloud computing» en mettant à léchelle horizontalement plutôt que verticalement sont toutes de nouvelles variables dans le monde des données que larchitecture logicielle a encore du mal à atteindre rattraper. Lavenir de SQL Server est: un changement progressif mais durable vers une manière plus efficace de travailler avec nos données. Il est probable que le nom change et séloigne de SQL en tant que langage de requête et se dirige vers un langage plus puissant qui résout mieux les problèmes auxquels est confronté larchitecte logiciel moderne.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *