2016-12-09 2 views
1

У меня есть два разных сценария, один из которых создан мной и одним из моих коллег, который использует те же снимки.Удаление снимков sql в SSIS

16.00 (или 4 PM) Кодированный мной. Сценарий 1 - удаляет снимки, если они есть, создает новые снимки - выполняет код.

04.00 (или 4 AM) Coded by Collegue Сценарий 2 - удаляет моментальные снимки, если они есть, создает новые снимки - выполняет код.

Оба эти сценария являются сценариями SSIS, которые являются просто владельцами хранимых процедур (сценарии SSIS на самом деле не делают больше, чем выполняют кучу хранимых процедур в цепочке).

Сценарий 2 работает без проблем. Сценарий «1-й снимок» не может быть удален, у вас нет доступа или снимок отсутствует в базе данных.

Если я запускаю скрипт 1 в SQL Studio, он работает отлично, поэтому я ничего не написал неправильно.

Оба сценария работают под одним и тем же пользователем как в двигателе SSIS, так и в двигателе JOBS.

Я даже не знаю, где я должен искать ошибки для этого? Какие-либо предложения?

------------- Edit: Сценарий добавлен ----------------

IF EXISTS(select NULL from sys.databases where name='Citybase_Snapshot') 
BEGIN 
    DROP DATABASE Citybase_Snapshot; 
END 

CREATE DATABASE CityBase_Snapshot ON 
(NAME = FastighetsBok_Data, FILENAME = 'S:\Snapshots\Citybase_Snapshot.ss') 
AS SNAPSHOT OF Citybase; 

------ ---------- Редактировать: сообщение об ошибке добавлено ----------------------

Насколько я знаю, это нормальный сообщение об ошибке с сервера SQL.

EXEC proc_..." failed with the following error: "Cannot drop the 
database 'Citybase_Snapshot', because it does not exist or you do not 
have permission.". 
+1

добавьте чек, чтобы увидеть, если перед удалением присутствуют снимки – TheGameiswar

+0

Предлагаю вам разместить сценарии. Такое звуковое сообщение звучит _very_, специфичное для выполняемого кода (т. Е. Я никогда не слышал об этом как о генерации сообщения sql), поэтому проблема в коде где-то –

+0

Я проверяю, есть ли снимки. Конечно. : D Спасибо. –

ответ

0

Ответ был более простым, чем я себе представлял.

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

Вам также необходимо проверить соединение, которое вы фактически устанавливаете внутри сценария SSIS, чтобы убедиться, что пользователь, который вы используете для подключения к базе данных, может отказаться от моментального снимка.

Легко, как пирог (когда вы знаете, что не так).

Смежные вопросы