Avatar billede skurkendk Nybegynder
10. august 2007 - 15:13 Der er 2 kommentarer

User permission problem ved brug af EXEC

Hej eksperter :)

Jeg har fornylig flyttet en database fra en MS SQL Server 2000 til en MS SQL Server 2005.

Tror jeg har fået styr på brugerrettigheder mv (99% af mine SPROCS bliver kaldt korrekt blandt andet).

Jeg har dog et problem med de SPROCS hvor jeg bruger EXEC og dynamisk sammensætter en bid SQL til den.

Her er et eksempel på hvad jeg forsøger at gøre:

exec('SELECT Pris AS Value, sum(antal) as Antal FROM ' + @TBname + ' where 0=0' + @sqlFT + @sqlMK + @sqlAar + @sqlKM + ' GROUP BY Pris order by Pris')

Hvis jeg kalder ovenstående direkte i en Query Analyzer går det fint, men når jeg kalder SPROC'en fra min web app smider den følgende fejl:

SELECT permission denied on object 'myTB', database 'MyDB', schema 'dbo'

Jeg kan godt kalde en exec ('Select 10000 as pris, 1 as antal') uden at den fejler, men kan ikke hive noget fra en tabel.

Synes snart jeg har prøvet alt, er der nogen af jer der ved hvad der kan være galt? På forhånd mange tak.
Avatar billede lorentsnv Nybegynder
22. august 2007 - 23:41 #1
Når du kørere i Query Analyser, kører du select med dine egne rettigheder. Når du kører tilsvarende exec(select... fra web app, er det vel IIS service brugeren som kører op modt SQL Server?
Du kan køre Profiler og se hvilken bruger som sender forespørgselen.

Jeg fandt også tilsvarende problemstilling på:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=139718&SiteID=1
Avatar billede skurkendk Nybegynder
28. august 2007 - 09:59 #2
Tak Lorentsnv

Jeg har i min DB en lokal bruger. Denne bruger har execute rettigheder på alle SPROCS og for at være på den sikre side har jeg også tildelt ham læse/skrive rettigheder på alle tabeller. I min web app har jeg så i min web.config en connection string hvor jeg anvender denne bruger. I profiler kan jeg se at det er den rigtige bruger der bliver anvendt.

Så jeg tror ikke det der helt er løsningen, selvom det dog er på rette spor da det jo må have et eller andet med brugerrettigheder at gøre?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester