gifts2017

Скрипт для удаления всех таблиц из базы MS SQL

Опубликовал Осипов Сергей (fixin) в раздел Администрирование - Чистка базы

Иногда хочется оставить настройку базы данных SQL, но удалить оттуда все данные, чтобы они не занимали место. Самый простой способ - запустить скрипт, который удалит

В консоли MSSQL сервер выберите базу и в ней запустите скрипт. Скрипт рабочий, проверено.

В результате все таблицы будут удалены.

Не забудьте потом запустить сжатие базы!

 

DECLARE @sql VARCHAR(MAX) ,
    @tablename VARCHAR(MAX)

DECLARE droptable CURSOR FOR
SELECT name
FROM sys.tables
WHERE type='U'
OPEN droptable
FETCH NEXT FROM droptable
INTO @tablename
WHILE @@FETCH_STATUS = 0
    BEGIN
        SET @sql = 'drop table [' + @tablename + ']'
        PRINT @sql
        EXEC (@sql)
        FETCH NEXT
   FROM droptable
   INTO @tablename
    END

CLOSE droptable
DEALLOCATE droptable

См. также

Подписаться Добавить вознаграждение

Комментарии

0. Осипов Сергей (fixin) 11.11.11 09:42
Иногда хочется оставить настройку базы данных SQL, но удалить оттуда все данные, чтобы они не занимали место. Самый простой способ - запустить скрипт, который удалит

Перейти к публикации

1. Станислав Шепталов (sCHTASS) 11.11.11 09:42
ИМХО, публикация не о чем. Такие "секреты" раскрываются через гугл в первой десятке строк результата поиска.
2. motherf 15.11.11 13:35
(1) Пригодилось на практике, вот и делюсь.
3. Erbolat Akkusov (Banzai79) 27.12.11 11:15
этот скрипт удаляет все подряд или только документы и регистры?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа