#sql-server
#sql-server
Вопрос:
У меня устаревшая база данных, но я хотел бы сохранить данные из этой базы данных в отдельной версии текущей рабочей базы данных. Я создал копию моей текущей базы данных, но в ней есть все новые данные. Есть ли способ удалить все эти данные, а затем импортировать данные из устаревшей базы данных?
Ответ №1:
Попробуйте это, чтобы удалить данные:
-- disable all constraints
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
-- delete data in all tables
EXEC sp_MSForEachTable "DELETE FROM ?"
-- enable all constraints
exec sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
Для импорта данных:
- В Microsoft SQL Server Management Studio Express разверните базы данных.
- Щелкните правой кнопкой мыши базу данных, содержащую объекты, которые вы хотите скопировать в другую базу данных
- Нажмите на Задачи, затем создайте сценарии… Это откроет мастер сценариев, который в значительной степени не требует пояснений:
- Выберите базу данных (которая должна быть предварительно выбрана для вас),
- Выберите параметры (в первый раз вы можете просто принять параметры по умолчанию),
- Выберите типы объектов, которые вы хотите создать в скрипте (хранимые процедуры, пользовательские функции и т.д.),
- Выберите конкретные объекты, для которых будет создан сценарий, и, наконец, укажите, куда выводить сценарий (для удобства выберите Сценарий в новое окно запроса).
После завершения вернитесь в окно запроса с объектами сценария. Измените директиву USE (первая строка), чтобы она указывала на базу данных назначения (например, ИСПОЛЬЗУЙТЕ [Northwind]), и запустите сценарий.