FILESTREAM
または VARBINARY(MAX)
、しかし、ファイルをファイル システムに保存し、ファイルへのポインタだけをデータベースに保存する場合と比較して、そうすることの長所と短所を考慮する必要があります。
データベースにファイルを保存する利点:
- トランザクションの一貫性
- セキュリティ (必要であり、データベースが広く開かれていないことを前提としています)
短所:
- はるかに大きなデータベース ファイル + バックアップ (他の誰かのストレージでホストしている場合、コストがかかる可能性があります)
- デバッグがはるかに困難 (Management Studio で "SELECT doc FROM table" と言って Word をポップアップ表示することはできません)
- ドキュメントをユーザーに提示する (そしてユーザーがアップロードできるようにする) のが難しくなります。ファイル システム上のファイルへのリンクを提示するだけでなく、ファイルを取得してデータベースに保存するアプリを構築する必要があります。データベースからファイルを取得して、ユーザーに提示します。
SQL Server 2012 では、FileTable より使いやすいハイブリッドを提供します。