Recuperando el último registro de cada grupo de la base de datos - SQL Server 2005/2008

He realizado algunas búsquedas por lo que parece que no puedo obtener los resultados que estoy buscando. Básicamente, contamos con cuatro sistemas de administración diferentes en toda nuestra empresa y estoy en el proceso de combinar todos los datos de cada sistema de manera regular. Mi objetivo es actualizar los datos cada hora en una base de datos central. Aquí hay un conjunto de datos de muestra con el que estoy trabajando:

COMPUTERNAME | SERIALNUMBER | USERNAME | LASTIP | LASTUPDATE | SOURCE
TEST1 | 1111 | BOB | 1.1.1.1 | 1/17/2011 01:00:00 | MGMT_SYSTEM_1
TEST1 | 1111 | BOB | 1.1.1.1 | 1/18/2011 01:00:00 | MGMT_SYSTEM_2
TEST1 | 1111 | PETER | 1.1.1.11 | 1/19/2011 01:00:00 | MGMT_SYSTEM_3
TEST2 | 2222 | GEORGE | 1.1.1.2 | 1/17/2011 01:00:00 | MGMT_SYSTEM_1
TEST3 | 3333 | TOM | 1.1.1.3 | 1/19/2011 01:00:00 | MGMT_SYSTEM_2
TEST4 | 4444 | MIKE   | 1.1.1.4 | 1/17/2011 01:00:00 | MGMT_SYSTEM_1
TEST4 | 4444 | MIKE   | 1.1.1.41 | 1/19/2011 01:00:00 | MGMT_SYSTEM_3
TEST5 | 5555 | SUSIE  | 1.1.1.5 | 1/19/2011 01:00:00 | MGMT_SYSTEM_1

Entonces, quiero consultar esta tabla maestra y solo recuperar el último registro (basado en LASTUPDATE) de esa manera puedo obtener la última información sobre ese sistema. El problema es que puede haber un sistema en cada base de datos, pero, por supuesto, nunca tendrán el mismo tiempo exacto de actualización.

Esperaría obtener algo como esto:

TEST1 | 1111 | PETER | 1.1.1.11 | 1/19/2011 01:00:00 | MGMT_SYSTEM_3
TEST2 | 2222 | GEORGE | 1.1.1.2 | 1/17/2011 01:00:00 | MGMT_SYSTEM_1
TEST3 | 3333 | TOM | 1.1.1.3 | 1/19/2011 01:00:00 | MGMT_SYSTEM_2
TEST4 | 4444 | MIKE   | 1.1.1.41 | 1/19/2011 01:00:00 | MGMT_SYSTEM_3
TEST5 | 5555 | SUSIE  | 1.1.1.5 | 1/19/2011 01:00:00 | MGMT_SYSTEM_1

He intentado usar la función MAX, pero con eso solo puedo recuperar una columna. Y no puedo usar eso en una subconsulta porque no tengo un campo de ID único que me dé el último registro actualizado. Uno de los sistemas es una base de datos MySQL y la función MAX en MySQL realmente funcionará de la manera que lo necesito para que solo devuelva un registro por GROUP BY, pero no funciona en SQL Server.

Estoy pensando que necesito usar MAX y una IZQUIERDA UNIDAD, pero mis intentos hasta ahora han fallado.

Su ayuda sería muy apreciada. He estado atormentando mi cerebro durante las últimas 3-4 horas tratando de obtener una consulta que funcione. Esta tabla maestra se encuentra en un servidor SQL Server 2005.

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta