Se si intende utilizzare un letterale, è sufficiente per creare una stringa binaria:
insert into Files (FileId, FileData) values (1, 0x010203040506)
E si avrà un record con un valore di sei byte per il campo FileData.
di indicare nei commenti che si desidera specificare solo il nome del file, che non si può fare con SQL Server 2000 (o qualsiasi altra versione di essere a conoscenza di).
Avresti bisogno di una procedura memorizzata CLR per eseguire questa operazione in SQL Server 2005/2008 o di una stored procedure estesa (ma eviterei che a tutti i costi a meno che non sia necessario) che prende il nome file e quindi inserisce i dati (o restituisce la stringa di byte, ma potrebbe essere piuttosto lunga).
Per quanto riguarda la questione di un solo essere in grado di ottenere i dati da un SP/domanda, direi che la risposta è sì, perché se si dà la possibilità di leggere i file dal file system di SQL Server, che cosa cosa fai quando non sei connesso tramite l'autenticazione di Windows, quale utente viene utilizzato per determinare i diritti? Se stai eseguendo il servizio come amministratore (Dio non voglia), allora puoi avere un aumento dei diritti che non dovrebbe essere consentito.
binario (max) in MS SQL 2000? Come ricordo in questa versione, la variabile binaria può avere una lunghezza fissa e può contenere fino a 8000 byte. Nei miei progetti abbiamo archiviato i file nei campi IMMAGINE. –
@Alex_L, appena ricontrollato lo schema, è immagine. – scottm