SQL Server 2008 - Replication and Filestream, are both supported together?
本文转载自http://sqlserver-qa.net/blogs/sql2008/archive/2008/05/26/4331.aspx
Ok, replication concepts and technology has been continuing since the olden days (version 70) within SQL Server journey. To talk about new features within SQLServer 2008 comapring to the previous versions, FILESTREAM where much of data is created every day such as documents, images and videos that needs a structured storage for better performance to stream through your application.
Until SQL Server 2005 it has been tough to integrate both of these structured data (Database) and unstructured data (documents/images/videos), as you may need third party tool or store the reference within the database to capture the relevant data for streaming. This has been addressed within SQL Server 2008 which is in CTP at the moment, that means the RTM version may or may not have included this new referred feature and will be included within future Service Pack releases, none of these were confirmed by Microsoft yet and you need to wait until the Release Candidate is confirmed to release, ok no side-tracking on the subject!
So what is the benefit of using FILESTREAM within SQL Server database, that requires by default NTFS file system whereby storing the data as VarBinary(Max) that will allow the usual TSQL statements to parse for better performance from releational engine that willnot use the buffer pool for fetching data. So when to use this feature within your database, either on personal level or Enterprise level streaming the files is a definitive advantage and must have feature. TO talk about size and use of data you need to determin whether you should use it as database storage or file system storage, when I have asked same question to MS Development Team the referenced that if you are able to match the following counters then you can go with FILESTREAM usage:
Objects that are being stored are, on average, larger than 1 MB, such as project documents or media type of business you are in.
Fast read access is important, which is a common criteria for a file streaming type of business companies.
You have an application that uses the application logic to manage the documents/images on day-to-day basis.
I have been thinking whether filestream will be supported with replication or can you work with together? Such doubts have been answered after dribbling through the Books Online for SQL Server 2008 (CTP) and here are the links from reliable search engine,
http://msdn2.microsoft.com/en-us/library/bb895334(SQL.100).aspx#Replication
http://msdn2.microsoft.com/en-us/library/ms186225(SQL.100).aspx
JUst for your clarification if you are thinking about mixing encryption within FILESTREAM data, then it is not supported by design. To put a period to this doubt I would like to refer the note within BOL about managing large data values within replication, i.e., Replicating large data values from SQL Server 2008 to SQL Server 2005 Subscribers is limited to a maximum of 256 MB data values. For more information, see Maximum Capacity Specifications within BOL.