powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с правами: public
14 сообщений из 14, страница 1 из 1
Проблема с правами: public
    #40136733
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На одном SQL Server создал базу, таблицы с триггерами - делаю вставку - все ок
Сделал так же на другом делаю вставку - пишет объект не найден или нет прав, там так:

Insert into t1()...
Там триггер, вставляющий запись в подчиненную таблицу tdetail , вот на ней пишет
объект tdetail не найден или нет прав

при этом:
grant select, insert, update, delete on dbo.tdetail to public;

Вопрос: из-за чего может быть такая ошибка? т.е. назначение прав public не срабатывает для всех логинов?
Да, под sa все работает.
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136734
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
select 
	p.permission_name
from sys.database_permissions p
inner join sys.database_principals u on p.grantee_principal_id = u.principal_id
where
	p.major_id = object_id('dbo.tdetail')
	and u.name = 'public'
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136741
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
Код: sql
1.
2.
3.
4.
5.
6.
7.
select 
	p.permission_name
from sys.database_permissions p
inner join sys.database_principals u on p.grantee_principal_id = u.principal_id
where
	p.major_id = object_id('dbo.tdetail')
	and u.name = 'public'




Выполнил под sa:
DELETE
INSERT
SELECT
UPDATE

и под проблемным доменным юзером

DELETE
INSERT
SELECT
UPDATE
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136743
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select 
	u.name
	, p.permission_name
	, object_schema_name(p.major_id)
	, object_name(p.major_id)
from sys.database_permissions p
inner join sys.database_principals u on p.grantee_principal_id = u.principal_id
where
	p.state = 'D'
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136746
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше уж сразу
Код: sql
1.
2.
select * from fn_my_permissions('dbo.tdetail', 'OBJECT')
where subentity_name=''
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136758
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
а так?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select 
	u.name
	, p.permission_name
	, object_schema_name(p.major_id)
	, object_name(p.major_id)
from sys.database_permissions p
inner join sys.database_principals u on p.grantee_principal_id = u.principal_id
where
	p.state = 'D'



так - пустой рекордсет вернулся
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136764
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

а что это значит - смотрели?
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136768
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Ролг Хупин,

а что это значит - смотрели?


Смотрел, там общее описание, прав нет или объекта,
НО: есть версия. Таблица имеет поле идентити, это помогло

grant select, insert, update, delete, ALTER on dbo.tdetail to public;
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136770
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
Владислав Колосов
Ролг Хупин,

а что это значит - смотрели?


Смотрел, там общее описание, прав нет или объекта,
НО: есть версия. Таблица имеет поле идентити, это помогло

grant select, insert, update, delete, ALTER on dbo.tdetail to public;


Для insert alter не нужен. Что у вас там в триггере?
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136773
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
Ролг Хупин
пропущено...


Смотрел, там общее описание, прав нет или объекта,
НО: есть версия. Таблица имеет поле идентити, это помогло

grant select, insert, update, delete, ALTER on dbo.tdetail to public;


Для insert alter не нужен. Что у вас там в триггере?



Там insert в таблицу и идентити на таблице в которую делается инсерт.
Ну, алтер помог. хез. с чего такая фигня.
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136780
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

вы че там в тригере set identity_insert выставляете чтоли?
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136798
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

truncate может быть или inentity_insert off/on.
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136883
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
msLex
пропущено...


Для insert alter не нужен. Что у вас там в триггере?



Там insert в таблицу и идентити на таблице в которую делается инсерт.
Ну, алтер помог. хез. с чего такая фигня.


вы бы вместо вольного пересказа код триггера привели, и все вопросы, думаю, отпали бы
...
Рейтинг: 0 / 0
Проблема с правами: public
    #40136891
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
Ролг Хупин
пропущено...



Там insert в таблицу и идентити на таблице в которую делается инсерт.
Ну, алтер помог. хез. с чего такая фигня.


вы бы вместо вольного пересказа код триггера привели, и все вопросы, думаю, отпали бы


Там - муравейник , потому и не привожу

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE    TRIGGER [dbo].[change_data] ON [dbo].[tdetail] 
FOR INSERT, UPDATE,DELETE
AS
declare @numrows int
select  @numrows = @@rowcount
if @numrows = 0    return
UPDATE dbo.tdetail1  set    modified_date=getdate() 
from inserted t inner join dbo.tdetail1 n on n.[id]=t.[obj_id];



и дальше целая цепочка таблиц и триггеров.
Но ошибку пишет и дает это имя триггера.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с правами: public
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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