Obtendo os dados exatos editados do SQL Server

Eu tenho duas mesas:

Articles(artID, artContents, artPublishDate, artCategoryID, publisherID).

ArticleUpdated(upArtID, upArtContents, upArtEditedData, upArtPublishDate, upArtCategory, upArtOriginalArticleID, upPublisherID)

Um usuário efetuando login no aplicativo e atualizando o conteúdo de um artigo na coluna (artContents). Eu quero saber sobre:

Quais alterações o usuário fez no conteúdo do artigo?

Quero armazenar as duas versões do artigo, versão original e versão editada!

O que devo fazer para fazer acima de duas tarefas:

Quaisquer alterações necessárias nas tabelas?

A consulta para obter dados editados exatos de(artContents).

(Os dados editados exatos significam, que podem haver 5000 caracteres nas colunas, o usuário pode editar 200 caracteres no meio ou em algum outro lugar nos caracteres da coluna, eu quero exatos aqueles caracteres editados, antes da edição e depois da edição)

Nota: Eu estou usando o asp.net com c # para o desenvolvimento

questionAnswers(2)

yourAnswerToTheQuestion