INSTANT BUSINESS NETWORK

Телефон/факс:  +7 (495) 648-61-62
Продажи: sale@radius-soft.com
Служба поддержки: support@radius-soft.com

Переустановка IBN на другой сервер. Невозможно удалить старого пользователя.

оценок: 0
Решён В этой теме 1 полезное | 3 ответов(а) | 1

9 Сообщений:
Очков: 165
Руслан Опубликовал 02-02-2010 ч:мм вв

Старая система Win2008Server Standard+ SQL Express. Новая система Win2008Server + SQL 2005.

Версия IBN - 4.7.60

Всё сделано по инструкции "IBN 4.7 Перенос данных с одного локального сервера на другой"

Немогу удалить старого пользователя IBN.

Ошибка:

Действие Удалить завершилось неудачно для объекта "Пользователь" "IBN".  (Microsoft.SqlServer.Smo). The database principal owns a fulltext catalog in the database, and cannot be dropped. (Microsoft SQL Server, ошибка: 15138)

Суть ошибки, как я понял, в том, что пользователь не может быть удален так как является владельцем схемы. Но найти, владельцем какой схемы он является, я не смог.

Пробовал через запрос:

" SELECT s.name AS [schema_name], dp1.name AS [owner_name]
FROM sys.schemas AS s
INNER JOIN sys.database_principals AS dp1 ON dp1.principal_id = s.principal_id ".

Прошу помощи!!! Что делать?[:'(]

 

Решён Подтвержденный ответ

9 Сообщений:
Очков: 165

Возможное решение (SQL 2005 Standard SP2).

1. Проверка наличия "сиротского" пользователя 'IBN' в базе данных "МояНоваяБазаIBN_4.7.x"

USE [МояНоваяБазаIBN_4.7.x];
GO
EXEC sp_change_users_login 'Report'

В результате получил UserName (IBN) и UserSID (1x000000........) - т.е. есть пользователь без имени входа.

2.  Привязка полученного пользователя к имени входа

USE [МояНоваяБазаIBN_4.7.x];
GO
EXEC sp_change_users_login 'Auto_Fix', 'IBN';
GO

3. После привязки создаю схему 'IBN' в разделе: [МояНоваяБазаIBN_4.7.x] -> [Безопасность]->[Схемы]

4. Пользователю 'IBN' базы данных [МояНоваяБазаIBN_4.7.x] прописываю схему по умолчанию 'IBN' и то, что он "db_owner".

В моём случае это сработало.

  • | Очки за сообщения: 5

Все ответы

105 Сообщений:
Очков: 1,635

почитайте тут

"В сообщении о невозможности удалить пользователя также указана причина - наличие схемы. Откройте в базе данных раздел Security - Schemas и удалите схему "IBN". После этого можно будет удалить пользователя."

 

ЗАО "Интертекс Электроникс"

www.i-t.su www.i-ts.ru

  • Очки за сообщения: 20
9 Сообщений:
Очков: 165

Спасибо, но не помогло.

В том-то и дело, что схемы [IBN] нет! В предыдущем сообщении я указал запрос, которым получаю данные о привязках пользователей и схем.

  • | Очки за сообщения: 5
9 Сообщений:
Очков: 165

Возможное решение (SQL 2005 Standard SP2).

1. Проверка наличия "сиротского" пользователя 'IBN' в базе данных "МояНоваяБазаIBN_4.7.x"

USE [МояНоваяБазаIBN_4.7.x];
GO
EXEC sp_change_users_login 'Report'

В результате получил UserName (IBN) и UserSID (1x000000........) - т.е. есть пользователь без имени входа.

2.  Привязка полученного пользователя к имени входа

USE [МояНоваяБазаIBN_4.7.x];
GO
EXEC sp_change_users_login 'Auto_Fix', 'IBN';
GO

3. После привязки создаю схему 'IBN' в разделе: [МояНоваяБазаIBN_4.7.x] -> [Безопасность]->[Схемы]

4. Пользователю 'IBN' базы данных [МояНоваяБазаIBN_4.7.x] прописываю схему по умолчанию 'IBN' и то, что он "db_owner".

В моём случае это сработало.

  • | Очки за сообщения: 5
Страница 1 из 1 [Всего 4 записей] | RSS