powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Авто-откат транзакции после неудачного DROP INDEX если нет прав на удаления индекса
5 сообщений из 5, страница 1 из 1
Авто-откат транзакции после неудачного DROP INDEX если нет прав на удаления индекса
    #40005702
victorov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся со странной проблемой автоматического отката транзакции при удалении индекса и отсутствии прав на на его удаление, и даже если самого индекса не существует! Если права есть, то независимо от существования индекса все проходит как нужно.
SQL Server: 2014 SP3

BEGIN TRANSACTION
GO
DROP INDEX Idx ON UNexistTable // таблица не существует
GO
SELECT @@TRANCOUNT
GO // получаем 1, все ок
DROP INDEX UNExistIdx ON ExistTable // таблица существует, а индекс - нет
GO
SELECT @@TRANCOUNT
GO // под админом БД получаю всегда 1 (как и должно быть), а под юзерами без прав - 0 (независимо от существования индекса)

Причем, что интересно, если вместо DROP INDEX выполнять скажем INSERT в существующую таблицу, но без наличия прав на INSERT, то все ок и отката не происходит!

Где-то можно почитать про такое поведение сервера для DROP INDEX?
...
Рейтинг: 0 / 0
Авто-откат транзакции после неудачного DROP INDEX если нет прав на удаления индекса
    #40005709
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
set xact_abort on;
...
Рейтинг: 0 / 0
Авто-откат транзакции после неудачного DROP INDEX если нет прав на удаления индекса
    #40005717
victorov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня значение XACT_ABORT=OFF (дефолтное), так почему же транзакция откатывается? И как сделать чтобы НЕ откатывалась?
...
Рейтинг: 0 / 0
Авто-откат транзакции после неудачного DROP INDEX если нет прав на удаления индекса
    #40005732
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Авто-откат транзакции после неудачного DROP INDEX если нет прав на удаления индекса
    #40005773
victorov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эх... думал как-то без try catch получится. Ну ладно, спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Авто-откат транзакции после неудачного DROP INDEX если нет прав на удаления индекса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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