![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Недавно столкнулсь с проблемоей переноса БД на другой сервер MS SQL. Довольно долго пришлось искать решение проблемы. Думаю информация может оказаться полезной.
![]() Ситуация –> в БД есть пользователь, не sa, в моем случае sysdba, который является владельцем некоторых объектов в БД. На сервере есть логин sysdba. При переносе backup копии базы и ее восстановления на другом сервере после создания на нем логина sysdba подключение к восстановленной БД под sysdba оказывается невозможным, а попытка его добавления в БД вызывает ошибку «This user already exists.». Данная ситуация вызвана принципами безопасности SQL Server. На сервере имеются учетные записи сервера (Security\logins), информация о которых хранится в системной БД master, и пользователи БД (Database\users), информация о которых хранится в самой базе данных. Каждая учетная запись сервера имеет свой уникальный номер. SQL Server помещает данный номер в БД master, вместе с информацией об учетной записи сервера (login) и в БД в которой данный login назначен для пользователя БД. Проблема возникает в момент проверки сервером соответствия данных logins и users БД за счет сравнения номеров в базе master и самой БД. В случае их не соответствия доступ к БД для пользователя запрещается. Восстанавливается данное соответствие следующим образом: 1. Создаем на сервере, на который перенесена БД, учетную запись сервера (security\logins), если нужная запись не создана. 2. В Query Analyzer под sa конектимся к восстановленной БД и применяем следующую хранимую процедуру для каждого пользователя БД:
UserName – учетная запись сервера UserName1 – имя пользователя БД -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |