Sql server 2008 将文件保存到SQL Server数据库

Sql server 2008 将文件保存到SQL Server数据库,sql-server-2008,Sql Server 2008,我有一个表“tblTransDocs”,表中有这些字段(DocId(pk)、TransId(pk)、rev,…),表中的每一行我都可以有文件。现在我的问题是我必须用这些字段(fileId(int)、file name(varchar)、content type(varchar)、data(var binary)创建另一个表,并将fileId作为外键添加到“tblTransDocs”中或者,我可以在“tblTransDocs”中添加列,以便将文件保存到数据库中,如(文件名(varchar)、内容类

我有一个表“tblTransDocs”,表中有这些字段(DocId(pk)、TransId(pk)、rev,…),表中的每一行我都可以有文件。现在我的问题是我必须用这些字段(fileId(int)、file name(varchar)、content type(varchar)、data(var binary)创建另一个表,并将fileId作为外键添加到“tblTransDocs”中或者,我可以在“tblTransDocs”中添加列,以便将文件保存到数据库中,如(文件名(varchar)、内容类型(varchar)、数据(varbinary)


哪种方法是正确的?

如果您想在表中存储文件,可以添加一个图像字段来存储blob数据。是的,您可以将其添加到现有表中;您不需要创建第二个表,这取决于您的设计。FILESTREAM也是一个选项,如前所述。

@Oded-这不包括
文件tREAM
在2008年可用。@MartinSmith-当然可以。但是
FILESTREAM
只是指向…文件系统。你知道你可以更改文件的内容,SQL Server不会眨眼吗?事实上,我的问题是,我必须为文件创建单独的表,或者我可以向我以前的表中添加列。如果性能成为问题em,然后您可以考虑分离到另一个表(除非需求需要单独的表)。