Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Очистить базу данных. TRUNCATE TABLE с Foreign Keys / 8 сообщений из 8, страница 1 из 1
05.03.2020, 09:22
    #39934442
Valery_B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистить базу данных. TRUNCATE TABLE с Foreign Keys
Добрый день.
Хочу полностью очистить базу данных, но у многих таблиц стоят ограничения Foreign keys.

Например, когда я пытаюсь сделать
Код: sql
1.
TRUNCATE TABLE Clients 

вылезает ошибка о невозможности этого действия.

Можно ли не удаляя сотни внешних ключей очистить эти таблицы ?
А потом, ещё и возвращать их назад.
...
Рейтинг: 0 / 0
05.03.2020, 09:35
    #39934452
andy st
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистить базу данных. TRUNCATE TABLE с Foreign Keys
Вариант 1 - dbcc clonedatabase
Вариант 2 - заскриптовать объекты базы без данных и применить скрипты в новой бд
Вариант 3 - изучить теорию по внешним ключам и их реализацию в MS SQL Server, построить схему, определить порядок работы с таблицами, написать скрипт, который будет всё чистить
ну и т.п.
...
Рейтинг: 0 / 0
05.03.2020, 10:12
    #39934471
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистить базу данных. TRUNCATE TABLE с Foreign Keys
Valery_B,

А как себе представляете удаление записи, если на неё стоит ссылка из другой таблицы?

Сначала надо ссылки убрать -- потом удалять.
...
Рейтинг: 0 / 0
05.03.2020, 11:00
    #39934509
Valery_B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистить базу данных. TRUNCATE TABLE с Foreign Keys
a_voronin

А как себе представляете удаление записи, если на неё стоит ссылка из другой таблицы?

В этих таблицах нет ссылок по ключу, т.к. они пусты.
Всем эти таблицам я и хочу сделать TRUNCATE.


andy st ,
да наверное скрипты как вариант.

Ну на самом деле, я хочу очистить не прям уж все таблицы, а только самые большие.
По количеству их штук 10, но эти 10 занимают 99% базы по объёму и количеству записей.


В общем, видимо надо удалять каждый ключ по отдельности и потом восстанавливать его.
И так раз 50

Я надеялся, что есть что то типо такой команды:
Код: sql
1.
2.
3.
4.
5.
 Что нибудь DISABLE
 TRUNCATE TABLE Table1
 TRUNCATE TABLE Table2
...
 Что нибудь ENABLE
...
Рейтинг: 0 / 0
05.03.2020, 11:26
    #39934531
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистить базу данных. TRUNCATE TABLE с Foreign Keys
Valery_B,

авторВ этих таблицах нет ссылок по ключу, т.к. они пусты.

Заранее это не известно.
...
Рейтинг: 0 / 0
05.03.2020, 11:27
    #39934532
andy st
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистить базу данных. TRUNCATE TABLE с Foreign Keys
Valery_B

Я надеялся, что есть что то типо такой команды:
Код: sql
1.
2.
3.
4.
5.
 Что нибудь DISABLE
 TRUNCATE TABLE Table1
 TRUNCATE TABLE Table2
...
 Что нибудь ENABLE


ну дак
Код: sql
1.
2.
3.
4.
drop по списку
TRUNCATE TABLE Table1
TRUNCATE TABLE Table2
create по списку


на create за одно проверится понимание схемы бд и степень рукожопства
...
Рейтинг: 0 / 0
05.03.2020, 12:28
    #39934590
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистить базу данных. TRUNCATE TABLE с Foreign Keys
Valery_B
Можно ли не удаляя сотни внешних ключей очистить эти таблицы ?
delete
...
Рейтинг: 0 / 0
05.03.2020, 14:01
    #39934660
StarikNavy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очистить базу данных. TRUNCATE TABLE с Foreign Keys
Valery_B,

если справочники пустые

Код: sql
1.
delete from Clients 
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Очистить базу данных. TRUNCATE TABLE с Foreign Keys / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]