[MSSQL 2000] funkcja IS_MEMBER
=?iso-8859-2?q?Krzysztof_Wi=B6niewski?= - 06-03-2007 00:02
[MSSQL 2000] funkcja IS_MEMBER
Sytuacja: jest sobie użytkownik dodany do dwóch grup: 'public' (domyślnie) oraz 'G_GRUPA1'. Loguję się na tego użytkownika i wpisuję w Query Analizerze:
SELECT IS_MEMBER('public');
dostaję rezultat "1" - czyli użytkownik należy do grupy 'public'.
Zachęcony wpisuję tak:
SELECT IS_MEMBER('G_GRUPA1');
i dostaję "0" !
A użytkownik bezsprzecznie należy do tej grupy, co można sprawdzić na mnóstwo sposobów w Enterprise Mangerze.
Co więcej ! - dodanie uzytkownika do dowolnej innej grupy i sprawdzenie tego poprzez IS_MEMBER powoduje, że i tak zwraca ona zero!
O co tu chodzi ??
Pozdrawiam, Krzysiek
Sylwester Lewandowski - 06-03-2007 00:02
Hej,
A probowałeś dodać nazwe domeny przed nazwą grupy ?
Za BOL:
IS_MEMBER ( { 'group' | 'role' } )
Arguments 'group'
Is the name of the Windows NT group being checked; must be in the format Domain\Group. group is sysname.
'role'
Is the name of the SQL Server role being checked. role is sysname and can include the database fixed roles or user-defined roles but not server roles.
Pozdr.
Krzysztof Wiśniewski napisał(a): > Sytuacja: jest sobie użytkownik dodany do dwóch grup: > 'public' (domyślnie) oraz 'G_GRUPA1'. Loguję się na tego użytkownika i > wpisuję w Query Analizerze: > > SELECT IS_MEMBER('public'); > > dostaję rezultat "1" - czyli użytkownik należy do grupy 'public'. > > Zachęcony wpisuję tak: > > SELECT IS_MEMBER('G_GRUPA1'); > > i dostaję "0" ! > > A użytkownik bezsprzecznie należy do tej grupy, co można sprawdzić na > mnóstwo sposobów w Enterprise Mangerze. > > Co więcej ! - dodanie uzytkownika do dowolnej innej grupy i > sprawdzenie tego poprzez IS_MEMBER powoduje, że i tak zwraca ona zero! > > O co tu chodzi ?? > > Pozdrawiam, > Krzysiek >
Krzysztof Wiśniewski - 06-03-2007 00:03
Użytkownik "Sylwester Lewandowski" <camlan@vp.pl> napisał w wiadomości news:esgtra$i4h$1@atlantis.news.tpi.pl...
> Krzysztof Wiśniewski napisał(a): >> Sytuacja: jest sobie użytkownik dodany do dwóch grup: >> 'public' (domyślnie) oraz 'G_GRUPA1'. Loguję się na tego użytkownika i >> wpisuję w Query Analizerze: >> >> SELECT IS_MEMBER('public'); >> >> dostaję rezultat "1" - czyli użytkownik należy do grupy 'public'. >> >> Zachęcony wpisuję tak: >> >> SELECT IS_MEMBER('G_GRUPA1'); >> >> i dostaję "0" ! >> >> A użytkownik bezsprzecznie należy do tej grupy, co można sprawdzić na >> mnóstwo sposobów w Enterprise Mangerze. >> >> Co więcej ! - dodanie uzytkownika do dowolnej innej grupy i >> sprawdzenie tego poprzez IS_MEMBER powoduje, że i tak zwraca ona zero! >> >> O co tu chodzi ?? > Hej, > > A probowałeś dodać nazwe domeny przed nazwą grupy ? > > Za BOL: > > IS_MEMBER ( { 'group' | 'role' } ) > > Arguments > 'group' > > Is the name of the Windows NT group being checked; must be in the format > Domain\Group. group is sysname. > > 'role' > > Is the name of the SQL Server role being checked. role is sysname and can > include the database fixed roles or user-defined roles but not server > roles. >
Jaką przepraszam domenę masz na myśli?
Zerknij na przykłady z BOL:
[cit] This example indicates whether the current user is a member of the db_owner fixed database role.
IF IS_MEMBER ('db_owner') = 1 print 'Current user is a member of the db_owner role' ELSE IF IS_MEMBER ('db_owner') = 0 print 'Current user is NOT a member of the db_owner role' ELSE IF IS_MEMBER ('db_owner') IS NULL print 'ERROR: Invalid group / role specified' [/cit]Podobnie wpisuję ja i dla grupy "public" działa to zupełnie poprawnie. Dlaczego nie działa dla pozostałych? Dodam jeszcze, że problem występuje na serwerze produkcyjnym. W środowisku testowym wszystko działa bez zarzutu. Pozdrawiam,Krzysiek
Sylwester Lewandowski - 06-03-2007 00:03
Hej,
Kiedy napisales "grupa" od razu przyszly mi na mysl grupy windowsowe, a nie role nadawane na poziomie bazy.
Szczerze mowiac, w tym momencie juz nie wiem. Jedyna rzecz, ktora przychodzi na mysl w tej chwili to jakies zamieszanie przy koalicjach, ale to nic konkretnego.
Pozdrawiam, Sylwester Lewandowski
Krzysztof Wiśniewski napisał(a): > Użytkownik "Sylwester Lewandowski" <camlan@vp.pl> napisał w wiadomości > news:esgtra$i4h$1@atlantis.news.tpi.pl... > >> Krzysztof Wiśniewski napisał(a): >>> Sytuacja: jest sobie użytkownik dodany do dwóch grup: >>> 'public' (domyślnie) oraz 'G_GRUPA1'. Loguję się na tego użytkownika i >>> wpisuję w Query Analizerze: >>> >>> SELECT IS_MEMBER('public'); >>> >>> dostaję rezultat "1" - czyli użytkownik należy do grupy 'public'. >>> >>> Zachęcony wpisuję tak: >>> >>> SELECT IS_MEMBER('G_GRUPA1'); >>> >>> i dostaję "0" ! >>> >>> A użytkownik bezsprzecznie należy do tej grupy, co można sprawdzić na >>> mnóstwo sposobów w Enterprise Mangerze. >>> >>> Co więcej ! - dodanie uzytkownika do dowolnej innej grupy i >>> sprawdzenie tego poprzez IS_MEMBER powoduje, że i tak zwraca ona zero! >>> >>> O co tu chodzi ?? >> Hej, >> >> A probowałeś dodać nazwe domeny przed nazwą grupy ? >> >> Za BOL: >> >> IS_MEMBER ( { 'group' | 'role' } ) >> >> Arguments >> 'group' >> >> Is the name of the Windows NT group being checked; must be in the format >> Domain\Group. group is sysname. >> >> 'role' >> >> Is the name of the SQL Server role being checked. role is sysname and can >> include the database fixed roles or user-defined roles but not server >> roles. >> > > Jaką przepraszam domenę masz na myśli? > > Zerknij na przykłady z BOL: > > [cit] > This example indicates whether the current user is a member of the db_owner > fixed database role. > > IF IS_MEMBER ('db_owner') = 1 > print 'Current user is a member of the db_owner role' > ELSE IF IS_MEMBER ('db_owner') = 0 > print 'Current user is NOT a member of the db_owner role' > ELSE IF IS_MEMBER ('db_owner') IS NULL > print 'ERROR: Invalid group / role specified' > [/cit]Podobnie wpisuję ja i dla grupy "public" działa to zupełnie poprawnie. > Dlaczego nie działa dla pozostałych? Dodam jeszcze, że problem występuje na > serwerze produkcyjnym. W środowisku testowym wszystko działa bez zarzutu. > Pozdrawiam,Krzysiek > >
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
[MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?=
MSSQL Express czy Oracle Express
MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
[MSSQL 2K] =?ISO-8859-2?Q?Wp=B3yw_ustawie=F1_regionalnych_?==?ISO-8859-2?Q?serwera_na_zapytania?=
Pobierananie danych z innej bazy danych w MSSQL
Migracja MSSQL 2005 CTP na 2005 Express
[mssql] insert do tabeli na podstawie danych z innej tabeli
zanotowane.pldoc.pisz.plpdf.pisz.pllunadance.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|