Besides creating a new database and timing it, is there a simple way to determine whether or not Instant File Initialization is enabled/functioning?

(on Windows Server 2008 Enterprise)


Using ntrights.exe, check if the SeManageVolumePrivilege priviledge is granted. IF you prefer a 'built in' tool, use secedit /export /areas USER_RIGHTS.

| improve this answer | |
  • I do prefer 'built in'. Just a FYI the secedit line you posted does not work. But this is the kind of answer I'm looking for. – O.O Jan 17 '12 at 19:21
  • secedit /export /areas USER_RIGHTS /cfg foo.txt if you need a working example. I did not post that because I found the idea of a command line tool that requires an output file and does not use the stdout quite embarrassing. Pipe into grep, anyone? – Remus Rusanu Jan 17 '12 at 19:24
  • I agree and it's not very easy on the eyes, now that I'm looking at the file – O.O Jan 17 '12 at 19:25
  • Ugh. I have no idea how to interpret this file. Time to do some learning I guess. – O.O Jan 17 '12 at 19:28
  • For what is worth, compiling your own tool that calls GetTokenInformation and asks for the TokenPrivileges class shouldn't be too hard... – Remus Rusanu Jan 17 '12 at 19:29
  • The account under which Sql Server is RUNNING should have rights to Perform Volume Maintenance Tasks privilege.

See here:

Control Panel->Administration->Local Security Policies->Local Policies->User Rights->Perform Volume Maintenance Tasks

| improve this answer | |
  • I'd rather not have to do this. Isn't there an easier way. Maybe a simple command or cmdlet I can run? – O.O Jan 17 '12 at 19:00
  • @subt13 - this is the way to check. – JNK Jan 17 '12 at 19:01
  • @JNK - Imagine if you have to do this on 100 machines. Surely this isn't the only way :) – O.O Jan 17 '12 at 19:02
  • 1
    A quick google search pointed me to an article by Kendra Little. @OlegDok feel free to edit this into your answer. – Mark Storey-Smith Jan 17 '12 at 19:06
  • @MarkStorey-Smith - it looks like that script grants the permissions, not checks for them – JNK Jan 17 '12 at 19:14

In the past I've used this method by John Sansom: http://www.johnsansom.com/sqlserver-instant-file-initialization/

Simple SQL script involving trace flags.

| improve this answer | |
  • That involves creating a database. I want to avoid doing that. – O.O Jan 17 '12 at 19:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.