Ik weet dat het antwoord wordt geaccepteerd, maar er is eigenlijk een eenvoudigere manier om het te doen, als het enige dat u hoeft te doen, de knoopwaarde is. Gebruik gewoon *
als naamruimtenaam:
SELECT MessageXml
, MessageXml.value('(/*:Envelope/*:Body/*:FetchRequest/*:Contract/*:TransactionId)[1]'
, 'varchar(max)')
FROM dbo.Message