2014-03-13 4 views
0

У меня есть большой скрипт сервера sql, в котором есть сочетание операций ddl, dml, и существует требование создать чистую структуру db (без данных). Возможно ли, чтобы транзакция пропускала сценарии DML с помощью какого-либо параметра или каким-либо другим способом.SQL Server - инструкции SKIP DML из заданного файла SQL Script

Спасибо заранее.

Arun

ответ

0

Из коробки: нет. Но вы можете обернуть заявления DML в сценарии что-то вроде:

if ($(RUNDML) = 1) 
begin 
    --your dml here 
end 

Где RUNDML является sqlcmd variable. Вы будете ссылаться на свой скрипт с разными значениями RUNDML на основе того, нужны ли вам данные в построенной базе данных.

В качестве альтернативы, отделите DML от другого сценария (или скриптов), чтобы вы могли выбрать, следует ли запускать часть данных сборки или нет.

+0

привет, спасибо за ваш ответ - есть более 300 файлов, и его невозможно будет разбить. Есть ли способ сделать это при восстановлении БД, например, у Oracle есть утилита imp, где data = N – Arun

+0

Резервное копирование и восстановление SQL Server не позволяет этого. Вы можете попытаться выполнить сравнение этой базы данных с пустым, используя SSDT или сторонний инструмент (я использую SQL-сопоставление Red Gate) и применяю различия к пустой базе данных. –