Есть несколько вариантов, которые вы можете выбрать, «самый быстрый» зависит от вашей базы данных.
Чтобы сначала ответить на ваши вопросы о посеве и т. Д. - TRUNCATE TABLE удалит всю информацию в таблице (очень быстро, так как она не зарегистрирована) и сбросит ваш столбец идентификации.
например:
TRUNCATE TABLE dbo.table
http://msdn.microsoft.com/en-us/library/aa260621(SQL.80).aspx
Существенным ограничением здесь является то, что вы не можете использовать его в таблице, на которую ссылается другая таблица. В этом случае вы можете использовать стандартное удаление, а затем использовать DBCC CHECKIDENT
например:
DELETE FROM dbo.table
GO
DBCC CHECKIDENT(dbo.table, reseed, 0)
http://msdn.microsoft.com/en-us/library/ms176057.aspx
Запомните при удалении, чтобы убедиться, что вы удаляете информацию в правильном порядке (т.е. с учетом внешних ключей).
Другой подход, который я часто использую, это просто написание полного сценария разборки / перестройки, когда я хочу сбросить базу данных. Основная предпосылка состоит в том, чтобы удалить или удалить все объекты базы данных в начале сценария, а затем воссоздать их. Это не обязательно решение для всех сценариев, но для основных задач хорошо работает для меня. Чтобы избежать ошибок, я обычно добавляю свои операторы отбрасывания в операторы IF, например:
IF EXISTS
(
SELECT *
FROM information_schema.tables
WHERE table_name = 'table' AND table_schema = 'dbo'
)
BEGIN
DROP TABLE dbo.table
END