powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос БД... неудачный.
9 сообщений из 9, страница 1 из 1
Перенос БД... неудачный.
    #32072103
Фотография tdalee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Вот столкнулась со следующей проблемой... Может кто поможет....
Есть база под SQL Server 2000 (но где-то год назад была перенесена из7.0). Перенесла ее тремя способами и с разными результатами на три сервера. Данные-то все перенеслись, но вот с логинами беда (или уже со мной).
Заранее скажу, что таблицы принадлежат dbo или User1. А хранимые процедуры и views принадлежат User1.

1) С помощью Import'а. Самая успешная попытка, но долгая... Здесь после переноса с Logins все ок.

2) Восстановление из Backup'a. Сначала создала базу.
Прописала логины. И если смотреть через Enterprise Manager, то в Users двое:
Name-----Login Name
User1-----User1 (это владелец БД)
dbo -----sa

После восстановления, в Users исчез Login Name у User1.
И подключиться естесственно под ним невозможно. И править Login тоже не дает (поставить этой базе владельцем User1), сообщая, что такой пользователь уже существует.

3) С помощью Attach. Перед этим создаю Login User1 c паролем, но пока без указания БД и прав. Когда присоединяю БД, то под sa. Ну и тут тоже самое. Исчезновение Login Name у User1 и невозможность подключения.

Хотелось бы перенести эту базу с помощью backup'а или attach'а. Что можете посоветовать? Заранее спасибо. Таня.
...
Рейтинг: 0 / 0
Перенос БД... неудачный.
    #32072148
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Записи из master.dbo.syslogins и YourDB.dbo.sysusers объеденены через поле типа sid. Так вот, на новом сервере у юзера User1 нужно прописать такой sid, какой есть у этого же юзера на старом сервере.

Проверено, работает.
...
Рейтинг: 0 / 0
Перенос БД... неудачный.
    #32072154
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Перенос БД... неудачный.
    #32072357
Фотография tdalee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

USE dbname
go
EXEC sp_change_users_login 'Update_One', 'User1', 'User1'

правильно мыслю?
...
Рейтинг: 0 / 0
Перенос БД... неудачный.
    #32072415
Фотография KANDed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно-то, правильно, но пароль, язык и база по умолчанию на первом сервере хранится в master.dbo.syslogins и при BackUp и Detach-Attach не передаются на второй
...
Рейтинг: 0 / 0
Перенос БД... неудачный.
    #32072436
Фотография tdalee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь пароль, язык и бд по умолчанию на втором сервере можно и поправить через enterprise manager...
У меня другой вопрос: а пара sid (в master.dbo.syslogins и в db_name.dbo.sysusers) на первом сервере и пара sid на втором сервере должны быть одинаковыми ? или главное чтоб между собой они были равными...

Всем большое человеческое спасибо!
...
Рейтинг: 0 / 0
Перенос БД... неудачный.
    #32072485
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> а пара sid на первом сервере и пара sid на втором сервере ...
... это связующие поля м-ду sysusers и syslogins
Если Вы на одном сервере делаете Backup, а на другом его восстанавливаете, то совпадение sid-ов гарантируется только для группы public и логина sa (который является юзером dbo во всех базах). У public sid = Null, uid = 0; у sa sid = 0x01, а uid = 1.
Вам для себя нужно решить где менять: в syssusers или в syslogins. Если база переносится только один раз, то разумнее в syssusers этой базы (после восстановления). Если Вы это будете делать несколько раз, то можно попробовать поменять sid в syslogins. Я именно так и сделал, чтобы разрабатываемую базу можно было восстанавливать дома.
...
Рейтинг: 0 / 0
Перенос БД... неудачный.
    #32072501
Фотография tdalee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С помощью следующего я заменила sid в sysusers:

USE dbname
go
EXEC sp_change_users_login 'Update_One', 'User1', 'User1'

и даже все работает.... спасибо всем!

Но на будущее хотелось бы знать, как заменить в syslogins?
...
Рейтинг: 0 / 0
Перенос БД... неудачный.
    #32072549
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите текст процедуры sp_change_users_login и Вам все станет понятно.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос БД... неудачный.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]