Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Безопастное создание учетной записи пользователя, БД и login - а к серверу 
:(
    Опции темы
np9mi7
  Дата 3.8.2005, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: нет
Всего: 10



Добрый день.

Есть задача:

написать хранимую процедуру которая принимает в качестве параметров кучу данных об объекте, корректно сохраняет данные об объекте, причем не известно - противоречат ли эти данные структуре БД или нет ( те возможнв ошибки при добавлении), создает учетную запись на сервере для данного объекта, создает пользователя текущей БД для данного объекта, причем требования такие: если возникла ошибка хоть на одном из уровней, то необходимо откатить все.

Сам собой напрашивается подход с транзакциями, с открытием в самом начале, подтверждения в конце процедуры, и откате в случае любой ошибке, но вот проблема:

Цитата
sp_adduser cannot be executed inside a user-defined transaction.


Цитата
sp_addlogin cannot be executed from within a user-defined transaction.


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


Заранее благодарен за ответы.


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
AntonSaburov
Дата 3.8.2005, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Ловить ошибки и руками все восстанавливать обратно. Работа малоприятная и нудная, но другого выхода я не вижу. Если SQL не может отследить все в транзакции, значит это становится твоей задачей.
PM MAIL WWW ICQ   Вверх
np9mi7
Дата 4.8.2005, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: нет
Всего: 10



Цитата
Ловить ошибки и руками все восстанавливать обратно. Работа малоприятная и нудная, но другого выхода я не вижу. Если SQL не может отследить все в транзакции, значит это становится твоей задачей.
, грустно и тошно, но нужно


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0651 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.