У меня недавно была та же проблема, и использование activerecord не было действительно адаптировано для того, что я хотел сделать ...
Итак, без использования activerecord:
client = TinyTds.Client.new(...)
data = "0x" + File.open(file, 'rb').read.unpack('H*').first
insert_str = "INSERT INTO [...] (...) VALUE (... #{data})"
client.execute(insert_str).do
Чтобы отправить правильные данные varbinary, вам нужно прочитать файл, преобразовать его в шестнадцатеричную строку с unpack('H*').first
и добавить к результату «0x».