So che la risposta è accettata, ma in realtà esiste un modo più semplice per farlo, se l'unica cosa che devi fare è selezionare il valore del nodo. Usa semplicemente *
come nome dello spazio dei nomi:
SELECT MessageXml
, MessageXml.value('(/*:Envelope/*:Body/*:FetchRequest/*:Contract/*:TransactionId)[1]'
, 'varchar(max)')
FROM dbo.Message