Tonight was the February meeting of the Melbourne SQL Server user group. As usual, copious amounts of beer and pizza were provided, and I had a a great time. Rob Farley was speaking on new features of SQL Server 2008, namely the topics of MERGE, Table Valued Parameters, and the Resource Governor. He also showed how Powershell is integrated into SSMS, and how easy it is to now navigate through instances, databases, and all properties of objects within. VERY cool. Books Online is also looking much improved — the documentation levels for the Resource Governor looked excellent!
Briefly, MERGE allows you to compare (join) a table with a rowset, and apply an action to each row in the table, depending on whether a row was matched or not (or matched with extra conditions). This allows you to insert a row if it doesn’t exist, or update the existing row, removing the need for two separate statements to UPDATE, check if @@rowcount = 0, and then INSERT.
Table Valued Parameters simply allow you to pass a table to a stored procedure. There are a number of restrictions, but it’s a feature that could be very useful.
The Resource Governor allows you to dynamically control CPU and memory resources to grant some users or applications a higher priority for CPU and memory than others. This allows the DBA to scale back any class of users that are hammering the system, or, as Rob suggested, grant your boss’s queries more priority (or less if you really need to justify a faster server!).