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

Откуда:
Сообщений: 1570
Здравствуйте!

С новым 2018 годом!

Предположим я написал SQL-запрос, который состоит из двух частей. Первая часть запроса выгружает такие данные как отгрузки, продажи, возвраты по дням за последние 60 дней. Плюс еще некоторые справочные таблицы. Вторая часть запроса делает сложный расчет из этих данных. Вторая часть запроса корректируется, так как запрос по определенной логике не дописан еще. В тестовой базе я могу писать и запускать запросы. Если запрос готов, то отдаю его сотруднику, у которого есть права на выгрузку из рабочей базы. Поскольку вторая часть запроса корректируется, то постоянно приходится заново запускать из рабочей базы.

Возможно ли сделать так, чтобы данные из рабочей базы выгрузились, сохранились, и потом в тестовой базе получить эти данные и потом запускать вторую часть запроса? Может быть какая нибудь функция специальная есть для этих целей в программе SQL Server Management Studio, или какая нибудь утилита, или что то другое?
3 янв 18, 18:47    [21080448]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по выгрузке  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35828
Есть такие функции, правда к SSMS они не имеют отношения. Называются SSIS, Jobs и прочие штуки для автоматизации регулярных запросов.
3 янв 18, 19:09    [21080483]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по выгрузке  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 2737
ferzmikk,

Заводите в боевой базе учетку с правом выполнения некоторых процедур, но не с правами чтения нужных таблиц/view, даете ей полные права в тестовой базе, создаете SQL Agent Job и на ежедневное выполнение по утрам.
Если данные "протухли" из-за срыва выгрузки или нужно срочно обновить днем - пользователь, который работает в тестовой, сможет обновить через запуск подготовленных для него процедур в боевой.
В процедурах поставить циклом на нужную глубину по датам, чтобы от нагрузки боевая не легла, плюс ограничить глубину. Ну или жестко задать нужный плавающий диапазон дат. За последние 60 дней от даты запуска процедуры (getdate()).
3 янв 18, 22:03    [21080746]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по выгрузке  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
ferzmikk
Возможно ли сделать так, чтобы данные из рабочей базы выгрузились, сохранились, и потом в тестовой базе получить эти данные и потом запускать вторую часть запроса?
insert test.tbl select from prod.tbl
3 янв 18, 23:41    [21080923]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить