User databases inaccessible after physical restart
It sounds to me as if the D: drive isn't accessible when the SQL service starts. Consider telling the service to start on a delayed start, or create a process which checks for a file on D: before doing a "net start mssqlserver".