Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Удалить все таблицы кроме системных  [new]
nike
Member

Откуда: \\Ukraine\zp
Сообщений: 74
Насоздавал я например кучу таблиц, процедур, primary, foreign key и т.д. позабивал их данными.
А как мне очистить полностью базу от того, что я посоздавал, то есть оставить только системные таблицы?
17 авг 05, 18:28    [1796598]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36801
drop database
create database
17 авг 05, 18:32    [1796624]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
DROP DATABASE ___
GO
CREATE DATABASE ___
GO
17 авг 05, 18:33    [1796629]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
nike
Member

Откуда: \\Ukraine\zp
Сообщений: 74
Гавриленко Сергей Алексеевич
drop database
create database

я понимаю. а других методов для удаления всех НЕ системных обектов нет?
17 авг 05, 18:56    [1796725]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Можно еще по одному дропать... Оно вам надо?
17 авг 05, 18:59    [1796734]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
AH-2
Member

Откуда:
Сообщений: 43
Создаешь курсор из названий своих обектов
тип select name from dbo.sysobjects where
потом бежищь по нему и удаляешь свои обекты
например sqlexcute ('drop table '+@name)
17 авг 05, 19:03    [1796751]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
exec sp_MSforeachtable @command1 = 'drop table ?'
18 авг 05, 06:52    [1797251]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Удалить все таблицы кроме системных  [new]
Сирин
Member

Откуда: Пермь
Сообщений: 1075
tpg
exec sp_MSforeachtable @command1 = 'drop table ?'

Если таблицы связаны внешними ключами, то
MS SQL
Could not drop object 'dbo.TableName' because it is referenced by a FOREIGN KEY constraint.

Чо делать? Не хочу удалять всю базу т. к. потом заново надо будет права раздавать.
Стоит MS SQL Server 2008 SP1 Express.
10 июл 09, 20:31    [7403924]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3197
Сирин,

Вы хотите сказать, что после удаления объекта из базы права доступа на него продолжают в ней храниться?
Права пользователей можно заскриптовать и потом быстро накатить этот скрипт.
10 июл 09, 20:46    [7403945]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
Сирин
Member

Откуда: Пермь
Сообщений: 1075
Ennor Tiegael
Сирин,
Вы хотите сказать, что после удаления объекта из базы права доступа на него продолжают в ней храниться? .

Эт вы где такое у меня прочитали? :)
Ладно, заскриптую раздачу привелегий.
10 июл 09, 21:16    [7404003]     Ответить | Цитировать Сообщить модератору
 Re: Удалить все таблицы кроме системных  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3197
Сирин
Ennor Tiegael
Сирин,
Вы хотите сказать, что после удаления объекта из базы права доступа на него продолжают в ней храниться? .

Эт вы где такое у меня прочитали? :)
Да вот тут:
Сирин
Не хочу удалять всю базу т. к. потом заново надо будет права раздавать.
Если вы собрались грохать все пользовательские объекты, то какие после этого права там останутся? Членство в ролях, разве что, но все равно - тогда сами роли станут чистыми...
10 июл 09, 22:34    [7404288]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить