Wednesday, June 18, 2008

SQL Server 2008 Launch

Attended Microsoft's 2008 launch event - Heroes Happen Here - in Sacramento two weeks ago. At the Sacramento Convention Center on J St.

In the morning, I was in the SQL Server session, collateral at (http://sqlserver2008jumpstart.microsofttraining.com/content/info.asp?CcpSubsiteID=69&infoid=27) Most of it was fairly DBA-side heavy. The first session was on Infrastructural improvements, it wasn't very demo-friendly, a lot of security features, basically expanded on 2005 in areas such as encryption and securing functions. A new feature called 'Transparent Data Encryption', allowed the whole database to be encrypted, and, as the title describes, the developer does not need to change any of their code to work with it... Similar impact on the developer as using EFS to encrypt the file system, but there seems to be minimal performance hit and less overhead, plus the keys can be centrally managed, backed up, etc. where EFS this is difficult / impossible? Other interesting factoids that were sort of mentioned as asides, I need to research them a bit more, was the ability to expose the file system, and XML files or sources as data objects, and concept called 'Sync Services' (which may have been around in 2005, but less prominent)

The second presentation introduced an really helpful feature for multi-server management called Declarative Management Framework (DMF) for policy-based management. Basically, most settings, or rule you could manually apply to one server, could easily be applied to many servers. (Much further than the 'Master Server' concept in SQL 2000-2005 that applied scripts to multiple servers by kicking off SQL Server Agent on each target) I saw it as basically three dimensions:
  • How to enforce the policy (log it only, force the change (possibly 'breaking' the other server?)
  • When to enforce it (on demand, scheduled, when changes occurred)
  • On what servers (By version, by server OS, etc. - similar pattern as group policy, a variety of custom filters could be built up to apply the change to only certain dbs, or servers) For that matter, servers could be grouped in some custom manner too.

In some of the environments, I've worked in with a large amount of MSDE or SQL Express instances, this is a {deity}-send. I'm not completely sure how it works against occassionally-connected boxes, on demand would not to be an option, but scheduled or on change would, assuming the result of applying the policy placed some logic on each remote server... but if only SQL 2008 contains the logic (it was mentioned that past version of SQL are supported, but as remote servers... similar to how SQL 2000 boxes can be administered with SSMS)

Anywhom, using the 'log-only' feature, with the data captured, my idea was to create some model of a 'compliance score' off it, for example, a 'grade' each server would get for compliancy with some standard. Some policies could be weighted differently, i.e. setting backup options may be higher weight than stored proc naming conventions... Will have to get a SQL 2008 box set up to take a look.

The last session of the SQL Server morning was new features of Analysis Services. The features were largely incremental, since I haven't spent much time in this tool yet, I quickly surmised that I needed to work with it from the ground up, vs. learning what changed in 2008 vs. 2005. A brief demo of some changes in SSRS showed a tool called 'Report Designer'. It was definitely new, but it seemed to fill the same space as 'Report Builder', and unless I misheard, it was explicitly mentioned that both existed.

The afternoon session was on Visual Studio. I don't have as many notes on that, probably a creature of zoning out in the afternoon, and most of the features were very incremental (and I actually recall seeing a very similar demo on VSTO last year)

Christopher Schipper demo'd various ASP.net features -nested master pages, more CSS design and 'debugging', javascript debugging, LINQ to XML. A couple of features that stood out for me was a Sync feature. To the project, simply clicking 'Add->Local Database Cache' allowed the creation of an offline copy of a data source to be shipped with the app. 1 line of code - cacheRefTablesSyncAgent.cache could be called to update the cache. 1 way synchronization is easy. 2-way is possible, but requires more code to handle events related to conflict management.

There was a demo of VSTO, creating a form that would be part of Outlook, could be used to consume/respond to an email.

No comments: