June 19, 2014 at 11:14 am
Carpe Datum (6/19/2014)
...the answer illustrates one of the worse traits in IT admins generally - give the user the minimum we decide they need rather than what they ask for or what they actually need. The dev's real requirement (buried in the question) is to optimise a query... Sooner or later they will be back asking to see execution plans and other info from profiler that they need.
My experience working with developers has been they typically don't want to touch Profiler, and the few that have are scared once they see all the options or once they run their first trace. I'm always happy to run a trace for them in a dev or QA environment.
Along Carpe Datum's line of thought though, in a development environment the developers should have ShowPlan privileges, as that will give them much better information towards optimizing a query than statistics I/O ever will.(scalar functions have already been mentioned, and CROSS APPLY statistics IO can look skewed too even though they perform blazingly fast) The first thing I ask the developers when they ask me an optimization question is "have you checked the execution plan?".
June 19, 2014 at 11:30 am
david.gugg (6/19/2014)
GilaMonster (6/19/2014)
OCTom (6/19/2014)
What gives? I thought all of us developers got admin rights!?!? :laugh:On dev servers, I'm very happy to give developers db_owner of the DB they're working in, alter trace, show plan and view server state. I will teach them the best ways to use Profiler (hint, server side trace), I will teach them DMVs, I will explain execution plans. Then they don't have to come to me for every single thing they want to do on dev. Having to do so irritates developers and wastes my time.
Production, same rights as normal users, unless there's a good reason.
I'm kind of torn on this one.. would you do this if there was a development team of 100+ devs? Trying to keep track of who is trustworthy enough for whatever access can be challenging. Additionally, one hour of downtime for the DEV environment is 100+ hours of downtime for all development put together.
With 100+ devs there must be some kind of dev team hierarchy that you can delegate this problem to - make it the team's problem to determine who has what access. Ensure the backups are there for when they get it wrong (as everyone does sooner or later).
Also, if you have 100+ devs working in the database (and not on other layers), on the same database, on the same branch/version of the same project, then I reckon you (as an organisation) have bigger problems than DB permissions...
June 20, 2014 at 12:21 pm
The question "... so he can see the reads/writes used by his queries ..."
Info for logical, physical, read-ahead, ... is given.
What about the writes?
I set
SET STATISTICS IO
and made thousand of inserts in a table and then update of all. I cannot see information about the writes ?:unsure:
Igor Micev,My blog: www.igormicev.com
June 20, 2014 at 12:23 pm
GilaMonster (6/19/2014)
The problem, however, is that statistics IO lies any time there are scalar UDFs in use. The profiler trace doesn't.
Thanks for this Gail!
Igor Micev,My blog: www.igormicev.com
Viewing 4 posts - 31 through 33 (of 33 total)
You must be logged in to reply to this topic. Login to reply