04-07-2020 12:33 PM - edited 04-07-2020 12:34 PM
According to this documentation, FILESTRAM is a server side feature and needs to be configured on a specific varbinary(max) colomn in a database table. It should have no influence on the client side since as far as the client is concerned it is simply a varbinary field, which is basically a BLOB.
The difference is how SQL server will store those BLOB data values. For varbinary columns where FILESTREAM has not been configured it will cram the BLOB data into the indexed database storage just like any other data values. If FILESTREAM has been enabled for a varbinary columns, SQL Server will instead store the data as a file stream (basically a named entity of a data file that is stored in NTFS alternative data streams) to disk and maintain a link to that stream in the database. It uses in that way the highly optimized indexing infrastructure of the NTFS file system rather than trying to do something on its own inside the data base binary data structure which never was really designed to handle huge data field values but rather a huge amount of data field values.