2010-05-26 4 views
0

Я перенесла набор баз данных SQL 2000 в SQL 2008. Большинство из них работает хорошо, однако у меня есть несколько хранимых процедур, которые запланированы и выполняются заданиями агента SQL Server, которые приносят мне проблемы. Многих из запланированной хранящейся работы процедур, но хранимый прок, которые имеют доступ к базе данных, кроме база данных по умолчанию не удается со следующим сообщением:Проблемы с разрешением хранимых процедур

Исполнены как пользователь: XYZ \ YadaYada. Принцип сервера: «XYZ \ YadaYada» не может получить доступ к базе данных «MyOtherDatabaseOnSameServer» в контексте текущей безопасности. [SQL STATE 08004] (Ошибка 619) Не удалось выполнить этот шаг.

Очевидно, что я изменил имена, чтобы защитить виновных.

Учетная запись пользователя во всех базовых базах данных и является членом db_owner, db_datareader и db_datawriter.

Когда я запускаю эти же процедуры из окна запроса в СМС, используя те же учетные записи (я пробовал много), они работают нормально.

Что мне не хватает?

ответ

0

вещи, которые вы могли бы взглянуть на:

  • , который является владельцем этой работы?
  • , под которым пользователь работает под управлением SQL-агента?
+0

Владелец задания - dbo. Учетная запись для агента SQL - это сетевые службы, но я изменил его на Admin Admin, чтобы узнать, поможет ли это. Это не так. Спасибо –

0

Это похоже на проблему цепной связи между базами данных.

Убедитесь, что:

  • сервер SQL позволяет собственности Межбазовых формирований цепочки
  • каждую базе данных, участвующие позволили межбазовых цепочки владения.
  • Пользователь XYZ \ YadaYada является зарегистрированным пользователем MyOtherDatabaseOnSameServer.
  • Владелец хранимых процедур совпадает с владельцем объектов, хранящихся в MyOtherDatabaseOnSameServer.

Надеюсь, что это поможет.

+0

Владелец всего объекта и владелец хранимой процедуры является dbo XYZ \ YadaYada является зарегистрированным пользователем db. Я действительно думал о цепочке привязки к базе данных и задал эту опцию на сервере. Не знал о опции на каждом дБ. Когда я включил опцию в БД, она выделена серым цветом и не будет настраиваться. Попытка выяснить, почему. Это похоже на возможный источник проблемы. Хотя, я не понимаю, почему он будет работать нормально из окна SMS-запроса. Подумайте, что вы используете для ввода, я буду продолжать подключаться к нему. –

+0

Возможно, вам понадобится выдать инструкцию RECONFIGURE, чтобы сервер мог изменить конфигурацию.Попробуйте: sp_configure «перекрестная привязка db», 1; РЕКОНСТРУКЦИЯ GO; GO Если параметры уровня db по-прежнему неактивны, попробуйте перезапустить экземпляр sql (если вам разрешено) –

0

Когда вы перенесли пользователей, вы снова настроили пользователей или просто взяли то, что у них было в операции восстановления/прикрепления?

Возможно, вам понадобится запустить exec sp_change_users_login 'Auto_Fix', '<username>' по базе данных (ов), где <username> - это фактическое имя пользователя.

+0

После миграции была добавлена ​​учетная запись и пользователи, которые я использую. Я все равно пытался, но без радости. Спасибо за ввод. –

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