Uprawnienia do funkcji

0

Witam,
mam następujący problem: z poziomu administratora w programie księgowym stworzyłem funkcję SQL typu:

create function cdn.MojaFun (@nr_doc nvarchar(30))    
        returns Decimal(10,2)
        as
        
        begin
...
        end

Funkcja została zapisana na serwerze i logując się na konto administratora wszystko działa prawidłowo.

Problem pojawia się, gdy inny użytkownik chce korzystać z tej funkcji - wówczas funkcja nie działa :-(.

Mam więc pytanie w jaki sposób powinienem stworzyć tą funkcję, by każdy użytkownik mógł z niej korzystać? Tzn. jak zrobić, by ta funkcja była "publiczna"?
Oraz czy mogę to zaznaczyć od razu przy tworzeniu funkcji czy jest to niezależne zapytanie?

Z góry dziękuję za pomoc.

0
Marcin.Miga napisał(a):

GRANT: https://msdn.microsoft.com/en-us/library/ms187965(v=sql.110).aspx
i analogicznie DENY

Czyli to będzie coś w stylu:

GRANT CREATE FUNCTION cdn.MojaFun (@nr_doc nvarchar(30)) TO Database_user
        RETURNS DECIMAL(10,2)
        AS
 
        BEGIN
...
        END

??
Trochę nie rozumiem tej składni :-/

0

GRANT EXECUTE ON cdn.MojaFun TO Nazwa_uzytkownika

0
kuf kuf napisał(a):

GRANT EXECUTE ON cdn.MojaFun TO Nazwa_uzytkownika

A nie da się bez określania nazwy użytkownika - tak, by funkcja była dostępna dla wszystkich użytkowników?
tzn. coś w stylu TO [ANY USER]??

1

zapewne użytkownicy należą do pewnej grupy, roli
wystarczy w miejscu na nazwę użytkownika wpisać nazwę wspólnej roli

ewentualnie możesz przypisać do public

0

Dzięki.

kuf kuf napisał(a):

zapewne użytkownicy należą do pewnej grupy, roli
wystarczy w miejscu na nazwę użytkownika wpisać nazwę wspólnej roli

ewentualnie możesz przypisać do public

Czyli:

GRANT EXECUTE ON cdn.MojaFun TO PUBLIC

??
A da się jakoś sprawdzić jacy są w bazie użytkownicy (zapytaniem) i do jakiej grupy/roli należą?
Wszystko robię z poziomu programu księgowego i nie mam bezpośredniego dostępu do bazy danych :/ Nie mam również dostępu do nazw tabel :/ (tzn. pośrednio mam, ale nie teraz w pracy i nie w tej wersji programu).

Z góry dziękuję za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1