SQL Server 2008 replication to Previous Versions (2000, 2005)

I was just researching a question on SQL Server replication, whether SQL Server 2000 can participate with SQL Server 2008 in a replication strategy. The answer is yes:

SQL Server 2000 and SQL Server 2005 can both participate in replication topologies with SQL Server 2008. For SQL Server 2000 the minimum version is Service Pack 3. For SQL Server 2005 the minimum version is Service Pack 2.

Ref: Using Multiple Versions of SQL Server in a Replication Topology

When you replicate between or among different versions of SQL Server, you are usually limited to the functionality of the earliest version used. For example, if you upgrade a Distributor to an instance of SQL Server 2008, but you have a Publisher that is running an instance of SQL Server 2005 and a Subscriber that is running an instance of SQL Server 2000, you are limited to the general functionality and replication functionality of SQL Server 2000.

Because the SQL Server on-disk storage format is the same in the 64-bit and 32-bit environments, a replication topology can combine server instances that run in a 32-bit environment and server instances that run in a 64-bit environment.

There are some breaking changes in the replication agent security model detailed here: Breaking Changes in SQL Server Replication

Möbius Transformations Revealed: The Beauty of the Complex Plane

Möbius Transformations Revealed is a wonderful, short film that illustrates the beautiful correspondence between Möbius transformations and motions of the sphere.

The film, created by mathematicians Douglas N. Arnold and Jonathon Rogness, has been viewed over 1.5 million times on YouTube, and is among one of the YouTube top favorites of all time.

A high resolution version along with other information can be found here.

If you are interested in finding out more, there is no better place to start than Tristan Needham’s amazing Visual Complex Analysis.

Microsoft Certification and Second Shot

Yesterday, I sat the Microsoft certification upgrade exam 70-454: Transition Your MCITP SQL Server 2005 DBD to MCITP SQL Server 2008 DBD. I followed Rob Farley’s advice:

“I always tell people to do exams during Second Shot season.

Reason being – it makes the first one a practice. Don’t bother studying, don’t bother stressing, just go and see how you do. Then you can sit it a second time for real.”

I’m not such a huge fan of the upgrade exams as they can be a bit hit and miss (after all, it’s hard to cover so much in a relatively small number of questions), but I passed. It was a very helpful experience; there were a few questions where I was unsure of the answers, so I came home and read up on them.

Microsoft’s Second Shot promotion, where you get a second chance to pass an exam, is on until June 30th 2009. In addition, if you register for second shot you can get any IT professional or developer e-learning collection for just US35 (normally priced up to US350).

You can also get 50% off Microsoft Certification exam for attending the sessions live on April 1st (today!): all TechDay attendees will be given a special URL and discount code to register for a Microsoft certification. You must take your exam by May 31, 2009.

Reminder: Perth .NET User Group Meeting, Thurs April 2nd: WPF Flexible UI Composition

Join us at the Perth .NET Community of Practice, Thurs April 2nd to hear James Miles present on how Inversion of Control (IoC) and separated presentation principles can be used to build rich WPF applications, while keeping memory consumption low and minimising object lifetimes. James will demonstrate how the careful introduction of an IoC Container can increase the flexibility of your UI architecture, facilitating agile software development.

TOPIC: WPF Flexible UI Composition with James Miles
DATE: Thursday, April 2nd, 5:30pm
VENUE: Excom, Ground Floor, 23 Barrack Street, Perth
COST: Free. All welcome

More details here: http://perthdotnet.org/blogs/events/archive/2009/03/19/flexible-ui-composition-with-wpf-updated.aspx

SQL Server 2008 Heroes Contest Winners

Not sure if it was a lack of fanfare or whether I simply missed it, but the winners of the SQL Server 2008 Heroes contest were announced several months ago! (The official announcement is here: http://blogs.msdn.com/sqlheroes/)

  • BIDS Helper: Greg Galloway, Darren Gosbell, John Calvin Welch
  • SQL 2008 Extended Events Manager: Jonathan Matthew Kehayias
  • ssisUnit: John Calvin Welch
  • SqlMonitoring Tool: Robert Hartskeerl
  • Allocation SQL Server Management Studio Add-in: Daniel Gould

The winning projects are hosted on Codeplex here: http://www.codeplex.com/SqlServerSamples

Marshaling between Managed and Unmanaged Code: PInvoke Interop Assistant

I recently saw this useful tool mentioned on StackOverflow by JaredPar (it seems I need to catch up on the MSDN magazines that are starting to pile up!): the PInvoke Interop Assistant hosted on CodePlex and first described in this MSDN article, Marshaling between Managed and Unmanaged Code:

.NET Framework interop opens a channel between managed and unmanaged code, and marshaling plays a very important role in that connection in that it allows for data exchange between the two. There are many factors that affect the way the CLR marshals data between the unmanaged and managed worlds, including attributes such as [MarshalAs], [StructLayout], [InAttribute], and [OutAttribute] as well as language keywords such as out and ref in C#.

Understanding and remembering all the attributes and rules (described in the MSDN article) may seem a bit daunting. After all, most developers of managed code just need to be able to quickly figure out the P/Invoke signature for a Win32® API function, paste it in their code, and be done with it. That’s where the P/Invoke Interop Assistant can help. This tool can efficiently assist with conversions from C++ to managed P/Invoke signatures as well as those in the opposite direction. It even comes with a database of Win32 functions, data types, and constants, so the common task of adding a Win32 P/Invoke to your C# or Visual Basic source file is made very easy. The tool package includes two command-line tools, SigImp and SigExp, which can be used for batch file processing. A GUI tool is also found in the package, which includes the functionalities of both tools.

IE8 does not support the Windows Vista product registration process

If you have just built a new PC with Vista 64 bit and are planning on installing IE8 (64 bit, but possibly 32 but as well) and you haven’t yet registered your copy of Vista. STOP!

Register it first using IE7, because if you try using IE8 you will get a friendly message informing you that:

“The browser version you’re currently running does not support the Windows Vista product registration process.”

It then helpfully suggests you install IE7. Can I find IE7 for Vista 64 bit on the MS site. Nope!

Perth .NET User Group: A Great Start to the Year

I’ve been remiss by not blogging about the 2 user group meetings we have had so far this year.

We don’t run a meeting in January due to the holidays, so February’s well attended meeting was the first and good start to the year. Ola Karlsson stepped up to the task of presenting on Silverlight and what it’s good for. He blogged about it here (with links from the presentation). And special thanks to Ola for giving both halves of what was originally planned to be a 2 speaker event.

If you wanted an indication of the level of interest in testing and Test Driven Development (and Design) (TDD), then you needed to look no further than our March meeting when Rhys Campbell presented on Real World TDD. We had the highest attendance of any meeting in the group’s history; it was standing room only! (I lost count at 62 people). He posted a follow-up here.

Thanks to both presenters.

Our next presentation will be James Miles on Flexible UI Composition with WPF. Don’t miss it!

IE8 Goes Live

On Thursday, Microsoft released Internet Explorer 8. The release is publicly available here.

The new IE 8 runs on Windows Vista and Windows XP operating systems, as well as Windows Server editions from 2003 and beyond. Windows 7 Beta testers should use the version of IE 8 that came with the beta, as Microsoft customized that browser to work specifically with Windows 7 features.