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

Откуда:
Сообщений: 11
Добрый день,

сделал запрос, который переносит данные из одной БД в другую, БД расположены на разных серверах. При запуске запроса из Management Studio все работает ОК. При запуске процедуры из SQL агента выдается ошибка Status: Ошибка - Invoked on: 2015-04-17 11:38:32 - Message: Не удалось завершить задание.

Задание выоплняется из под той же учетной записи, из под которой все работало в Management Studio.

Подскажите, в чем тут может быть загвоздка?

сам запрос

INSERT INTO [SERVER2].[Staging_area].[dbo].[Справочник организаций (промежуточные данные)]
([Код организации (в источнике)]
,[Название организации]
,[Регион]
,[ИНН]
,[Источник]
)

SELECT
[Accountid]
,[name]
,[addressjuristic]
,[inn]
, 'CRM' AS Источник
FROM [SERVER1].[CRM].[dbo].[FilteredAccount]
17 апр 15, 12:00    [17528414]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
Jaffar
Member

Откуда:
Сообщений: 633
bonobo,

1.Если выц нигде ничего не натупили - попробуйте залить для проверки одну строчку + в другую табличку.- посмотрите что будет.
2.Возможно настройки коннекта в агенте отличаются от настроек в окошке ssms.
17 апр 15, 13:10    [17528888]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
Glory
Member

Откуда:
Сообщений: 104751
bonobo
Подскажите, в чем тут может быть загвоздка?

Загвоздка в том, что текст ошибки расположен в деталях выполнения конкретного шага. А не в статусе джоба
17 апр 15, 13:28    [17529055]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
Glory,

а где можно увидеть детали шага?
17 апр 15, 14:50    [17529656]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
Glory
Member

Откуда:
Сообщений: 104751
bonobo
Glory,

а где можно увидеть детали шага?

В истории выполнения джоба
17 апр 15, 14:51    [17529660]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
Glory,

Спасибо. Пишет, что доступ к удаленному серверу запрещен, так как текущий контент не является доверительным.
17 апр 15, 15:37    [17529991]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
Подскажите, правильно ли будет использовать процедуру sp_addlinkedserver здесь?
28 апр 15, 13:07    [17575075]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
Glory
Member

Откуда:
Сообщений: 104751
bonobo
правильно ли будет использовать процедуру sp_addlinkedserver здесь?

Использовать для чего ?
28 апр 15, 13:09    [17575089]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
Glory,

для доступа к другому серверу. У меня там сейчас права Sysadmin, но все равно job завершается с ошибкой.
28 апр 15, 16:54    [17576813]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8833
bonobo, покажите точную копию ошибки, а не своими словами. Вы что-то выбросили из сообщения.
28 апр 15, 17:00    [17576851]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
o-o
Guest
bonobo,

у вас же и без того уже оба сервера прилинкованы (SERVER2, SERVER1), или вы теперь про что-то другое?
вам надо разбираться, под кем выполняется тот шаг джоба.
какие у вас настройки SECURITY для SERVER1, SERVER2?
ошибку шага приведите полностью
28 апр 15, 17:06    [17576888]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
o-o
Guest
ок, ошибку я приведу, ненавижу сообщения на русском.
он привел полностью, это 15274: Access to the remote server is denied because the current security context is not trusted.
bonobo, показывайте security linked-серверов
28 апр 15, 17:12    [17576929]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8833
http://blogs.msdn.com/b/deepakbi/archive/2013/09/25/9971985.aspx
28 апр 15, 17:20    [17576984]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
o-o,

серверы не прилинкованы, я хотел узнать, помогло бы это?
28 апр 15, 17:47    [17577147]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
Владислав Колосов,

Спасибо, ознакомлюсь
28 апр 15, 17:47    [17577149]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
o-o
Guest
bonobo
o-o,
серверы не прилинкованы, я хотел узнать, помогло бы это?

как же вы из студии умудрялись код-то выполнить?
INSERT INTO [SERVER2].[Staging_area].[dbo].[Справочник организаций (промежуточные данные)]
([Код организации (в источнике)]
,[Название организации]
,[Регион]
,[ИНН]
,[Источник]
)

SELECT
[Accountid]
,[name]
,[addressjuristic]
,[inn]
, 'CRM' AS Источник
FROM [SERVER1].[CRM].[dbo].[FilteredAccount] 

что же тогда SERVER1, SERVER2, как не линкованные сервера?
28 апр 15, 17:57    [17577205]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
o-o,

просто два сервера, просто я студии было подключение к обоим, видимо, поэтому код выполнился.
Скажите, для таких задач требуется, чтобы они были связаны?
29 апр 15, 17:45    [17582940]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8833
bonobo, нет, этот код не будет работать в описанной Вами ситуации.
29 апр 15, 18:16    [17583086]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
o-o
Guest
bonobo
o-o,

просто два сервера, просто я студии было подключение к обоим, видимо, поэтому код выполнился.
Скажите, для таких задач требуется, чтобы они были связаны?

Ну вы оригинал, как это вы в одной сессии к двум сразу подключены? я сейчас не могу картинку вывесить, но в студии в статус-баре подписано, к какому серверу вы подключились. Теперь внимание, открываем Object Explorer, узел того самого сервера, к-ый подписан в статус-баре (он же и в диалоге подключения фигурирует, вы как подключаетесь студией-то, не читаете что ли, что там вам по умолчанию подставилось?)
Там папка server objects - - > linked servers, в ней поищите свои линкованные сервера, им посмотрите properties, закладка security, alt-prntscrn, сюда картинкой завесьте
29 апр 15, 18:36    [17583159]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
Владислав Колосов,

так как же сделать правильно?
30 апр 15, 10:19    [17585298]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
Glory
Member

Откуда:
Сообщений: 104751
bonobo
так как же сделать правильно?

Раз текст ошибки гласит, что "доступ к удаленному серверу запрещен, так как текущий контент не является доверительным.", то наверное надо сделать текущий контент доверительным
30 апр 15, 10:26    [17585347]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
bonobo
Member

Откуда:
Сообщений: 11
o-o,

извините, был не прав

скриншот безопасности связанного сервера

К сообщению приложен файл. Размер - 89Kb
30 апр 15, 10:34    [17585436]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из БД в БД на разных серверах  [new]
o-o
Guest
ваша ситуация воспроизводится так:
овнер джоба сисадмин и выставлено run as USER.
убрать нафиг вот этого RUN AN USER.
не прокси, а именно RUN AN USER
(если смотреть св-ва шага джоба, то это тот, который database_user_name in output of sp_help_jobstep)
или смените овнера джоба на несисадмина. любого другого.
30 апр 15, 18:17    [17588660]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить