0

I am looking for an alternative to Microsoft SQL Server's File Tables / File Stream feature. The reason is because I really wanted to use SQL Server File Tables but I am on Linux and using docker.

Unfortunately, Microsoft does not provide any support for Linux when it comes to File Tables. See this Issue which is still open. MySQL or PostgreSQL is preferable though.

SQL Server File Tables uses Operating System's File System to store files and synchronize these file values in SQL Tables. It is much faster than saving a BLOB. Also, it is backed up if I run Database Backup. So, its using File System for speed but also keeping it synchronized with Database. I can also access the files via File System and / or via transactions.

0
1

The alternative implementation in the past was to store the files on a shared location and store their location's reference in the database in a table.

Here are the current options for modern DBMS:

Here's also an oldie but goodie on the pros and cons of storing large files in the database.

7
  • That is not an alternative to File Tables actually. It is way before File Stream and File Table Support. When someone store files on a shared location, it is not backed up with database backups (you do it manually). Database don't synchronize files with records in tables. So if some files are deleted mistakenly from file system, they will still be there in database records. You will only get error when you attempt to read a file which is shown in database but does not exist in reality. – Imran Faruqi Nov 8 '20 at 16:44
  • @Imran Faruqi actually it's been the popular choice of storing files coupled to the database even when FileTables were available. Here's some related Brent Ozar posts that mention them: brentozar.com/archive/2015/03/no-more-blobs and sqlskills.com/blogs/brent/… He actually even briefly touches on the issues you can encounter using FileTables with no transaction log on top of them (so there's no perfect solution either way). That being said, I think the answer I provided is unfortunately the closest you're going to get. – J.D. Nov 8 '20 at 16:58
  • I understand the pros and cons and I really appreciate your help in this. I actually don't know the name of the feature other companies call it. Like there must be something in Oracle SQL, PostgreSQL or MySQL similar to MS SQL Server File Tables or File Stream support. Microsoft can barely be the one bringing one sort of feature alone. – Imran Faruqi Nov 8 '20 at 17:57
  • @ImranFaruqi Unfortunately MS SQL Server is where I'm most versed with, so I can't say for sure completely with the other more Linux favorable RDBMS if they don't have an equivalent. I'll have to do some research and will keep you updated if I find any equivalent, though I do know some of the features MS SQL Server offers are pretty unique to Microsoft. – J.D. Nov 8 '20 at 18:12
  • 1
    Really appreciate your efforts! :) – Imran Faruqi Dec 30 '20 at 11:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.