Você precisa passar o xml como uma string.
Mas se você não precisar das funções xml no banco de dados, considere usar varbinary para armazenar os arquivos.
ATUALIZAR!!!!!
Obrigado. Eu tenho que trabalhar. Adicionado o seguinte codificado:
StringWriter sw = new StringWriter();
XmlTextWriter xw = new XmlTextWriter(sw);
doc.WriteTo(xw);
StringReader transactionXml = new StringReader(sw.ToString());
XmlTextReader xmlReader = new XmlTextReader(transactionXml);
SqlXml sqlXml = new SqlXml(xmlReader);
Convertê-lo em uma string não foi suficiente. Recebi o seguinte erro:Análise de XML:linha 1, caractere 38, incapaz de alternar a codificação”. Então, converti para string e depois converti para SqlXml e funcionou.