FILESTREAM is a new feature in SQL Server 2008 that enables the storage
of unstructured data on a NTFS file system. FILESTREAM (local or remote) is
supported in SharePoint 2010 as one mechanism of reducing capital expenditures
through enabling the storage of large binary unstructured data on content
addressable or commodity storage.
Unstructured Data
Unstructured data refers to information that does not adhere to a
defined model or does not fit well into relational tables in SharePoint
unstructured data can refer to Microsoft Office document file formats, video,
audio, and related file types.
Structured Data
Structured data in SharePoint refers to the metadata associated with its
corresponding unstructured data or BLOB. Relational databases are most often
cited as examples of structured data.
SQL Server and Unstructured Data Storage
There are three (3) approaches to storing unstructured data with SQL
Server, RBS, SQL BLOB, and FILESTREAM:
FILESTREAM Overview
FILESTREAM is implemented on the varbinary(max) datatype instructing the
database engine to store unstructured data on the file system through a
FILESTREAM filegroup that contains file system directories instead of the files
themselves also known as data containers. Data containers are the interface
between database engine storage and file system storage. varbinary is the binary
data type designation for binary large objects stored in SharePoint 2010 content
databases and refers to variable-length binary data. (MAX) refers to a value
that max indicates that the maximum storage size is 2^31-1 bytes or otherwise
2GB. Remote BLOB Storage does not provide a mechanism to exceed to the 2GB file
size limit imposed by SharePoint.
In SharePoint 2010 remote BLOB data is referenced by a unique identifier
in content databases configured for RBS (see illustration).
FILESTREAM offers several benefits as related to performance 1)
FILESTREAM uses the NT system cache for caching file data reducing the effect
that FILESTREAM data has on Database Engine performance and 2) the SQL Server
buffer pool is not used; therefore, memory is available for query
processing.
FILESTREAM provides optimum value in scenarios where SharePoint is used
to storage large BLOB data such as video files that will benefit from FILESTREAM
or BLOB data that exceeds 1MB.
Special Considerations
FILESTREAM and Business Continuity Management
Database mirroring does not support FILESTREAM since a FILESTREAM
filegroup cannot be created on the principal server and database mirroring
cannot be configured for a database that contains FILESTREAM filegroups. If the
FILESTREAM provider is used to store BLOB data locally (within the same content
database) the database cannot be configured for database mirroring.
If the FILESTREAM provider is configured to store the BLOB data within a
separate SQL database or when using a 3rd party BLOB store, the content database
can be mirrored; however, database mirroring will apply only to the content
database and not the BLOB data. The BLOB data needs to be handled separately and
kept in sync with the associated metadata (content database). For FILESTREAM
BLOB databases, this can be done through log shipping.
FILESTREAM and the Office Web Applications Cache
The Office Web Applications cache is used by Word and PowerPoint Web
Applications to create a version of a document requested for viewing through the
browser improving performance and reducing resource consumption on server
machines by making cached versions of a document or presentation available in
cases where there are multiple requests for the same document.
The Office Web Applications cache occurs in two (2) distinct tiers, on
the server file system and within a “specialized” site collection hosted on a
per Web application basis. Document or presentation requests made through the
Office Web Applications are served through both caches as the images are
rendered for client consumption. Both cache locations are used by all site
collections within a Web application where the Office Web Applications features
activated.
Content databases where FILESTREAM is configured will store the cached
versions of the document or presentation in the configured provider
location. It is recommended to configure the Office Web
Applications cache on a database that is not configured for
FILESTREAM.
Configuring FILESTREAM with SharePoint 2010
The instructions that follow are designed to be used on a single-server
deployment for demonstration purposes and implements the local FILESTREAM
Provider.
Enable FILESTREAM on the target SQL Server Instance
Provision the RBS Data Store
Install the Microsoft SQL Server 2008 R2 Remote Blob
Store
Download the x64 package for the Microsoft SQL Server 2008 R2 Remote
Blob Store from the Microsoft SQL Server 2008 R2 Feature Pack at http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52&displaylang=en.
Open a Command Prompt with Administrator permissions and execute the
following command to install RBS.MSI downloaded in the previous
step:
msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi
TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="<Database Name>" DBINSTANCE="<Instance Name>"
FILESTREAMFILEGROUP=RBSFilestreamProvider
FILESTREAMSTORENAME=FilestreamProvider_1
NOTE
Specify the full path to RBS.MSI in the above state, i.e.
C:\Users\Administrator\Desktop\RBS.MSI. Replace the values for DBNAME and
DBINSTANCE to match your environment.
Enable Remote BLOB Storage
NOTE
The result of $rbs.Installed() should be True, if the result is False,
verify RBS.MSI has been installed successfully by reviewing rbs_install_log.txt.
Ensure the install statement was running In the SharePoint 2010 Management
Shell, enter the following Windows PowerShell statement to enable RBS for the
selected content database:
In the SharePoint 2010 Management Shell, enter the following Windows
PowerShell statements to set the RBSprovider for the selected content database:
NOTE
The result of $rbs should be:
Table 1
Appendix for Table 1
Enabled specifies whether or not RBS has been enabled for the selected content
database.
ActiveProviderName is name of the SQL Remote Blob Storage provider new files will be
stored in. This will be null if new files will not be stored using SQL Remote
Blob storage.
MinimumBlobStorageSize refers to the minimum size a BLOB may be to be considered RBS storage
worthy, BLOB data exceeding the specified MinimumBlobStorageSize will be stored
in the RBS data store.
FILESTREAM performance data shows BLOB data exceeding 1MB provides the
most efficient streaming performance. See also http://msdn.microsoft.com/en-us/library/cc949109(SQL.100).aspx.
To configure the MinimumBlobStorageSize:
Validate Installation
To validate the FILESTREAM configuration and RBS
installation:
Test the RBS Data Store
The data store directory structure will appear similar to that in the
following diagram.
NOTE
In the event error "The URL '<Document Library>/File' is invalid.
It may refer to a nonexistent file or folder, or refer to a valid file or folder
that is not in the current Web.” is displayed when uploading documents greater
than the configured MinimumBlobStorageSize open SQL Server Configuration Manager
and enable Enable FILESTREAM for file I/O streaming access and restart the SQL
Server (MSSQLSERVER) service.
|
Subscribe to:
Post Comments (Atom)
Blog Archive
-
▼
2013
(29)
-
▼
March
(16)
- How to create a SharePoint 2010 site collection wi...
- How to Install and configure workflow for SharePoi...
- How to fix Windows 8 administrator restriction policy
- How to Warm up SharePoint 2010 Sites using PowerShell
- How to Install SharePoint 2013 on Windows Server 2...
- How to change the UI Of A SharePoint LIST/VIEW us...
- Installing and Configuring Microsoft SharePoint Se...
- How to Administratively Manage your User Contact ...
- What’s New in SSIS for SQL Server 2012
- How to Host WCF in SharePoint 2010
- How to Add Custom JavaScript and jQuery to SharePo...
- Tip/Trick: Guard Against SQL Injection Attacks
- Les iPad et iPad mini risquent de pâtir d’une pénu...
- Défaut de Ballot Screen : Microsoft écope d'une am...
- Hidden Tricks To SQL Server Table Cleanup
- FILESTREAM with SharePoint 2010
-
▼
March
(16)
No comments:
Post a Comment