Melhor resposta
Em SSMS :
Clique com o botão direito no banco de dados
Vá para “Tarefas”
Clique em “Gerar scripts”
Na seção “Escolher objetos”, selecione “Script de banco de dados inteiro e todos os objetos de banco de dados”
Na seção “Definir opções de script”, clique no botão “Avançado”
Em “Script DROP and CREATE”, altere “Script CREATE” para “Script DROP” e pressione OK
Em seguida, salve em arquivo, área de transferência ou nova janela de consulta.
Execute o script.
Agora, isso eliminará tudo, incluindo o banco de dados. Certifique-se de remover o código dos itens que você não deseja excluir. Como alternativa, na seção “Escolher objetos”, em vez de selecionar o script do banco de dados inteiro, selecione os itens que deseja remover.
Com a ajuda do 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
Resposta
Esta é uma resposta baseada na opinião de alguém que entende o mercado e as tecnologias de TI atuais e tem usado o SQL Server, bem como várias outras tecnologias de banco de dados para através de um década: O futuro do SQL Server dependerá do futuro do uso do SQL como linguagem de consulta. Os sistemas de gerenciamento de banco de dados relacional como os conhecemos não mudaram muito nas últimas duas décadas, ao passo que quase todos os outros assuntos relacionados à computação mudaram. O sucesso do SQL está na sua simplicidade e, em níveis mais baixos de abstração, sempre precisaremos de uma tecnologia como esta. No entanto, há um punhado de necessidades que o SQL e o RDBMS “simplesmente não” fornecem em sua forma atual. Eles têm dificuldade quando se trata de tipos de dados com metadados. Por exemplo, esta data representa o aniversário de alguém? Este nvarchar (50) representa um endereço de e-mail? Esses dois valores representam um intervalo de datas em que um item não deve ser maior que o outro? O SQL Server lida com isso com gatilhos, mas há MUITO trabalho demorado envolvido na implementação desse tipo de gatilho que as empresas geralmente pulam o trabalho e confiam nas camadas de software para resolver esse problema. Isso cria uma falta de organização e consistência em todo o projeto. Eles não lidam com as necessidades baseadas na replicação de forma abstraída. Por exemplo, se dois sistemas desconectados precisam criar um novo registro em uma tabela, qual nova chave IDENTITY deve ser gerada? Esse problema pode ser resolvido usando chaves compostas ou GUIDs ou várias outras maneiras, mas o consumidor de SQL precisa ser incomodado por essas complexidades. Eles não lidam com o gerenciamento de tempo bi-temporal de forma abstrata. Por exemplo, se você precisar acompanhar o que pensávamos ser a verdade em julho de 2013, mas também precisamos armazenar dados corrigidos sobre 2013 que não aprendemos até 2016, criar um esquema para lidar com isso e manter a integridade referencial é bastante complexo … Já existem propostas de como tornar esse problema mais fácil de lidar, mas a mentalidade atual sim não resolver isso. Eles não fazem um bom trabalho ao incorporar um “Modelo” de seus dados. O esquema físico não faz um bom trabalho ao descrever coisas simples como “Este booleano valor representa um verdadeiro ou falso. “, ou” Esta data provavelmente será nos próximos meses, então use um controle de calendário onde essa outra data será anos no passado, então use menus suspensos para dd / mm / aaaa ” . Como tal, inúmeras ferramentas de “inteligência de negócios” ou “relatórios” foram construídas em cima desses sistemas para fornecer essa capacidade, mas a maioria delas ainda são proprietárias e estão mudando ano após ano, pois uma grande solução ainda precisa ser disponibilizada para todos de uma forma monopolística (tão boa que mata a concorrência e define seus próprios padrões). Eles não lidam com desatualização aceita de dados. Não há uma maneira fácil de indicar quando você pede dados que dados mais antigos em um servidor dentro de um cluster que podem ser antigo é aceitável se puder ser encontrado mais rapidamente. Isso causa problemas de desempenho e é um dos principais motivos pelos quais os bancos de dados “NoSQL” estão surgindo. Embora várias “tecnologias NoSQL” forneçam soluções para pequenas partes desse problema, existem muitos problemas que simplesmente não foram resolvidos. Por exemplo, os sistemas distribuídos não funcionam bem com o isolamento baseado em transações sem introduzir grandes problemas de desempenho.Há coisas que podemos comunicar quando fazemos uma pergunta sobre nossos dados, como quantos dados são aceitáveis? Desejo ser notificado se esses dados mudarem por algum motivo? É possível que eu queira alterar os dados que estou pedindo em um futuro próximo ou isso é apenas uma leitura, sem nenhuma intenção futura de mudança? Existem várias outras questões também, mas o ponto importante aqui é que o futuro do SQL Server será impulsionado pela economia e pela disponibilidade e implementação de novas idéias … Tenho certeza de que temos um mínimo de 5 a 8 anos em que o SQL continua sendo a forma mais popular de fazer uma pergunta seus dados e para pedir que seus dados sejam alterados – mas ele tem deficiências e esta área da computação deve ser uma “grande novidade”. Avanços na velocidade do disco, tamanho do disco para custo, tamanho da RAM para custo e, provavelmente, acima de tudo, a ideia de usar “computação em nuvem” escalando horizontalmente em vez de verticalmente são todas as novas variáveis no mundo dos dados que a arquitetura de software ainda está lutando para recuperar o atraso. O futuro do SQL Server é: mudança gradual, mas sustentável, para uma forma mais eficiente de trabalhar com nossos dados. É provável que haja uma mudança de nome e um pivô de SQL como uma linguagem de consulta em direção a uma linguagem mais poderosa que faz um trabalho melhor de resolver os problemas que o arquiteto de software moderno é apresentado.