25 March 2008

Early Thoughts on Dynamics GP and SQL Server 2008

I haven't played with the SQL Server 2008 Community Technology Previews but I've read and listened to a lot about the upcoming release and a few things really stuck out as being helpful to DBA's supporting Microsoft Dynamics GP, even without any tweaking of the application for SQL Server 2008.
The items that hit me were:
  • Resource Governor - this allows a DBA to define workload limits on the SQL server. For example, if GP shares the server with another application and you want GP to be primary, you could limit the other application to 20% of the processor power and grant GP 80% of the processor. A user on the other app gets 100% of the processing power until someone starts using GP. Then it throttles back to 20%. This scenario solves a couple of problems. Availability is ensured for both applications. Neither one will block the other completely. Also, each application gets full processing power when the other is not in use, so you're not wasting unused cycles when using only one application. There are lots more applications for this. This is just an example.
  • Security Auditing - SQL Server 2008 is introducing built in security auditing. I doubt that this will be as easy to setup and use as Fastpath's Audit Trail but it is nice to see a built in option and it will audit Select, Insert, Update, Delete and more at the row/user level.

    As an aside, Dynamics GP has been criticized in the past for using SQL Logins for security. This is different than say, Dynamics SL where there was a single SQL user and all logins were housed within the app. The benefits of the GP approach come through here. By having users at the SQL level, you can easily audit transactions by user without having to worry about the structure of the application.
  • Date and Time - SQL Server now supports separate date and time data types. Yipee! Don't expect to see changes in the way that GP deals with dates and times anytime soon but this could be a huge help with reporting down the road. You should be able to transform GP datetimes into more useable date and time data types for SSRS or Crystal Reporting.
  • Nulls in BI - Null values in a data warehouse take up the space of the largest allowed data size defined in the column, meaning that they waste a lot of space. SQL Server 2008's Sparse Columns allow null values to be stored without taking up physical space. This can significantly reduce data warehouse sizes
  • Speed - It's faster. How much faster depends but I'm hearing numbers in the 15-20% range. I wish my morning commute was 20% faster.