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 Answer 1

2

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. Nov 8, 2020 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, 2020 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. Nov 8, 2020 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, 2020 at 18:12
  • 1
    Really appreciate your efforts! :) Dec 30, 2020 at 11:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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