Debes utilizar campos BLOB. Aunque no conozco SQL Server, casi cualquier base de datos tendrá soporte para este tipo de campos que, básicamente, sirven para guardar cualquier cosa; un ejecutable, un mp3, un pdf, etc.
Dependiendo del tipo de componentes que uses para conectarte a la base, puede haber alguna diferencia, pero normalmente un campo BLOB se traducirá en un objeto TBlobField. Este objeto tiene métodos LoadFromFile y SaveToFile, muy cómodos para colocar datos en un campo BLOB desde un archivo en disco y viceversa.
Por ejemplo, con ADO:
Código Delphi
[-]
TBlobField(ADOTable1.FieldByName('pdf')).LoadFromFile('archivo.pdf');
TBlobField(ADOTable1.FieldByName('pdf')).SaveToFile('archivo.pdf');
donde
pdf sería el campo BLOB en tu base y
archivo.pdf el nombre de archivo en disco.
Una vez que guardas el archivo en un campo BLOB, ya no necesitas el archivo original.
Bye