У меня есть проблема с репликацией SQL, которую я испытываю затруднения при фиксации. То, что я делаю, восстанавливает два DBS от производственного резервного копирования и затем устанавливает репликацию между ними. Репликация, кажется, настроена без любых ошибок, но когда я смотрю на состояние, я вижу сообщения об ошибках как это:
Сообщения об ошибках:
Процесс не мог выполнить 'sp_replcmds' на 'MYSERVER1'. Получите справку: http://help/MSSQL_REPL20011
Не может выполниться как принципал базы данных, потому что принципал "dbo" не существует, этот тип принципала не может быть явлен олицетворением, или у Вас нет разрешения. (Источник: MSSQLServer, Код ошибки: 15517), Получают справку: http://help/15517
Процесс не мог выполнить 'sp_replcmds' на 'MYSERVER1'. Получите справку: http://help/MSSQL_REPL22037
Что это означает?
'dbo' сопоставляется с недопустимым логином. Если вы запустите select suser_sname (owner_sid) из sys.databases
, вы, вероятно, получите NULL для этих двух БД. Вам необходимо изменить "dbo" на действительный логин. Запустите в обеих базах данных:
ALTER AUTHORIZATION ON DATABASE::[<dbname>] TO [sa]