Hi, I’m Derek
I started this site mainly out of my passion for SQL Server. As soon as I was first introduced to stored procedures I fell in love.. but I won’t bore you with romance. I am a native Californian, that lives in Marina del Rey, however I have lived in many different places as I was raised an Army brat. I work as an independent contractor and enjoy working with different clients in different industries and helping them solve their problems. My passions include learning new things, meditation, & running.
Background
I began my career in 2000 working for activePDF as one of the early employees. Moving up, I defined most of the policies and procedures for the support department, along with creating custom reporting and applications. This is where my love of SQL Server first occurred. I remember looking at stored procedure syntax and being frustrated that it was so different from anything I have seen. Shortly thereafter, I created my first stored procedure. Working at activePDF gave me a foundation that no other job has. Working with my boss Tim (the CEO) was one of the most rewarding experiences of my career. I am very grateful to have worked with Tim. He helped me lay a strong foundation for understanding Windows, programming, PDFs, and also for life.
Moving along, I found my home at a subprime mortgage company named ResMae. I was luckily thrown into dataflow despite my extenisive knowledge in Visual Basic. Soon after, I created my first incremental (delta) refresh using a multi-tiered DTS package structure and fell in love with dataflow. The challenge of being able to move large amounts of changing data quickly across an organization sparked my intrests. At that point, I also doubled as a DBA, troubleshooting SQL Server slowdowns, investigating correlations between performance counters and other statistics. It was here that I gained confidence that I could diagnose and optimize any query to perform at it’s maximum speed. The biggest contribution I gave to this company is likely relieving their processor bottleneck by simply adding 6 indexes and rewriting 2 critical procedures. This relieved the company of long standing slowdowns that had been occuring for over 2 years. I had also started early on SQL Server 2005 at this point, learning the differences between the query optimizer of 2000 and 2005.
My next job consisted of working at a Collateral Debt Obligation Trustee. Some may say I jumped from the frying pan into the fire. First subprime, now CDO’s. That may have been the case, however it was worth it. Not only was this an excellent company, I was also placed in a position where I could make a difference. When I started I helped convert SQL 2000 to SQL 2005. After rewriting all the troubled procedures, we upgraded only to hit big walls of slowness. This was mainly due to a few things. First, we did not have enough RAM and were paging out. Second, the parallelism setting caused us to strain the disk subsystem. And last, we experienced process trimming which was common at the time of 64-bit OS’s.
My biggest contribution at this company was the rewriting of their most critical snapshot system. This system was the core of the business and boy was it a pig. There was approximately 15,000 lines of code written using udf’s; I completely rewrote using SET based methods. The results were impressive (approximately a 10X increase of throughput). This change along with rewriting a scalar udf that was defined as a computed column (??!!) I would say paid for my salary. The change of the computed column allowed the system to go from a maximum batch requests/ sec of 180 to hit peaks of 3000+. Shortly hereafter I got the title of Data Architect. We also experienced a lot of web slowdowns which occured because of classic ASP threading model being a single threaded apartment which I helped troubleshoot with some senior Microsoft Support personnel.
The culmination of all my experience (and the falling in love with my wife Meghan) led me to my next and final job in Los Angeles at a company called Davita. There my biggest achievement was creating two operational rules engines. Both of them provide a plug-in architecture that will facilitate the company for years to come. I pitched the idea of both the rules engines to management and they fed the information about what we can do up the chain to the business. The business agreed and we successfully implemented. Both rules engines focus on not receiving denials for patients. The saving’s estimate for one of the rules engines is a recurring 6 million a year. The other rules engine I would say saves more than that however no numbers have been calculated.
Currently, I work as a freelance independent contractor. Feel free to contact me if you have a need. I’m sure I can help out with whatever situation you have.
You can reach me at: 424-229-2775 (2SQL) or email me at: derek@sqlserverplanet.com
I hope you enjoy the site!
Popular search terms:


Hello Derek :
Its really good initiative towards providing stuff on SQL Server where million of end users like me could clarify their doubts just by visiting your site. It is really pretty enough and keep rocking….!!!
Best wishes,
Vishnu.
Thank you Vishnu!!
Derek
It looks like you’re pulling my name when your twitter feed pulls the content from the SQLTeam RSS feed. It would probably be more accurate to describe that as SQLTeam rather than me. Especially since the latest post up there attributed to me is actually by Mladen.
And thanks for reposting links to our blog posts!
-Bill
Hi Bill,
Sorry about that!! I just updated it, so from now on it should be correct….
Big fan by the way! You’re site is awesome!
Derek
I am very impressed with your knowledge in DMV queries.
I work for a huge DB Project, supporting many clients. We have 1500+ tables and for almost all the tables have CreatedDate,CreatedBy,ModifiedDate,ModifiedBy columns. Only in few places we update the Modified Column, whenever there is an update. This done through store procs and not always. I am trying to enforce something like, whenever there is an update, the modified date should have the getdate().
Is this possible without a trigger? Can we created a data type, which will call a function? or something like that.
Please help me know.
Thanks
Vaidy
Thanks Vaidy. I wouldn’t say I’m that knowledgeable. A lot of the examples are based on some Microsoft queries I found that I morphed.
Oh, and as far as I know, it is not possible without a trigger unless you update inline in the stored procedure..