title: How do I use BCP or Sql Server Management Studio to get BLOB data out of Sql Server?
body: <p>I'm sorry if this question has been asked already, but I couldn't find it anywhere.  I have a table that stores files as BLOBS.  The column that holds the file is an image datatype. I would like to be able to extract the binary data out of the column and turn it in to an actual file.  I would ideally like to be able to do this with BCP or management studio if possible.</p>
  
  <p>I have tried BCP, but for some reason when I try and pull out an office document Word thinks it's corrupt.  Here's what I've tried so far (obviously the values have been changed to protect the innocent :):</p>
  
  <pre><code>bcp "select document_binary_data from database where id = 12345" queryout "c:\filename.doc" -n -S server -U username -P password
  </code></pre>
  
  <p>This isn't working though?  Any thoughts?</p>
  
  <p><strong>Edit</strong> Turns out you don't need the -n native flag.  Also, BCP tries to include a 4 byte prefix by default on the image column - you actually want this set to 0.</p>
  
  <pre><code>bcp "select document_binary_data from database where id = 12345" queryout "c:\filename.doc" -S server -U username -P password
  </code></pre>
  
  <pre>
  Enter the file storage type of field document_binary [image]:
  Enter prefix-length of field document_binary [4]: 0
  Enter length of field document_binary [0]:
  Enter field terminator [none]:
  </pre>