<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: SQL SERVER &#8211; BLOB &#8211; Pointer to Image, Image in Database, FILESTREAM Storage</title>
	<atom:link href="http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/</link>
	<description>Personal Notes of Pinal Dave</description>
	<lastBuildDate>Thu, 23 May 2013 14:22:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Sunil Pereira</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-398234</link>
		<dc:creator><![CDATA[Sunil Pereira]]></dc:creator>
		<pubDate>Sun, 23 Dec 2012 18:13:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-398234</guid>
		<description><![CDATA[Hey Pinal,

Nice article. I have always used your blog to find answers to most of my sql questions. 

I have a question on the filestream backup.

If am not mistaken, FileStream backup does a backup of the data as well as the filesystem managed under the filestream. So in essence as the number of files keeps growing, the time to do a complete backup and then to a complete restore would keep growing.

What would be the right approach then if i anticipate my files to keep growing as part of document management. Even if i do a partial backup and just backup the data and the filesytem seperately; it would essentially boil down to method 1 of storing on filesystem and then storing the pointer in the database

Please let me know your thoughts. The concept of filestream is good, but there is hardly any mention about backups and restore from a practical stand point.

Thanx
Sunil]]></description>
		<content:encoded><![CDATA[<p>Hey Pinal,</p>
<p>Nice article. I have always used your blog to find answers to most of my sql questions. </p>
<p>I have a question on the filestream backup.</p>
<p>If am not mistaken, FileStream backup does a backup of the data as well as the filesystem managed under the filestream. So in essence as the number of files keeps growing, the time to do a complete backup and then to a complete restore would keep growing.</p>
<p>What would be the right approach then if i anticipate my files to keep growing as part of document management. Even if i do a partial backup and just backup the data and the filesytem seperately; it would essentially boil down to method 1 of storing on filesystem and then storing the pointer in the database</p>
<p>Please let me know your thoughts. The concept of filestream is good, but there is hardly any mention about backups and restore from a practical stand point.</p>
<p>Thanx<br />
Sunil</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Raj Thapliyal</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-352325</link>
		<dc:creator><![CDATA[Raj Thapliyal]]></dc:creator>
		<pubDate>Sun, 23 Sep 2012 15:59:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-352325</guid>
		<description><![CDATA[Hello Pinal Sir,
Hope you are doing good.
Sir i have one table and in this table i have one field with  data type,
But now my database size is increasing because of this table.
Can you please advise me that how to decrease the database size.
Thanks and regards 
Raj Thapliyal]]></description>
		<content:encoded><![CDATA[<p>Hello Pinal Sir,<br />
Hope you are doing good.<br />
Sir i have one table and in this table i have one field with  data type,<br />
But now my database size is increasing because of this table.<br />
Can you please advise me that how to decrease the database size.<br />
Thanks and regards<br />
Raj Thapliyal</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tan Hui Siang</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-173442</link>
		<dc:creator><![CDATA[Tan Hui Siang]]></dc:creator>
		<pubDate>Fri, 30 Sep 2011 06:25:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-173442</guid>
		<description><![CDATA[by T-sql, without relying on .NET, because I&#039;m not using .NET development. Thanks...]]></description>
		<content:encoded><![CDATA[<p>by T-sql, without relying on .NET, because I&#8217;m not using .NET development. Thanks&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tan Hui Siang</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-173441</link>
		<dc:creator><![CDATA[Tan Hui Siang]]></dc:creator>
		<pubDate>Fri, 30 Sep 2011 06:20:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-173441</guid>
		<description><![CDATA[what is the best technique to store &amp; retrieve image into / from database? Please advice, thanks...]]></description>
		<content:encoded><![CDATA[<p>what is the best technique to store &amp; retrieve image into / from database? Please advice, thanks&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dumin</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-91926</link>
		<dc:creator><![CDATA[Dumin]]></dc:creator>
		<pubDate>Sun, 10 Oct 2010 07:59:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-91926</guid>
		<description><![CDATA[File Stream is only works with Integrated Security ?]]></description>
		<content:encoded><![CDATA[<p>File Stream is only works with Integrated Security ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dumin</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-91925</link>
		<dc:creator><![CDATA[Dumin]]></dc:creator>
		<pubDate>Sun, 10 Oct 2010 07:58:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-91925</guid>
		<description><![CDATA[Hi Pinal,

File Stream is only works with Integrated Security ?]]></description>
		<content:encoded><![CDATA[<p>Hi Pinal,</p>
<p>File Stream is only works with Integrated Security ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JCM</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-66331</link>
		<dc:creator><![CDATA[JCM]]></dc:creator>
		<pubDate>Thu, 22 Apr 2010 21:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-66331</guid>
		<description><![CDATA[When using log shipping and with some columns of FILESTREAM type. The secondary server needs to have access to the files stored in the Primary server or the files are transferred to the secondary server.]]></description>
		<content:encoded><![CDATA[<p>When using log shipping and with some columns of FILESTREAM type. The secondary server needs to have access to the files stored in the Primary server or the files are transferred to the secondary server.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jacob sebastian</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-59779</link>
		<dc:creator><![CDATA[jacob sebastian]]></dc:creator>
		<pubDate>Fri, 15 Jan 2010 09:30:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-59779</guid>
		<description><![CDATA[@Zafar,
This is a known behavior. SQL Server currently does not restrict &#039;unauthorized access to the file through explorer or using command line&#039;. Deleting/editing the files directly is not recommended and it can corrupt the database.

Consider it as bad as modifying the mdf/ldf files. SQL Server does not allow you to modify them when the server is up and running because the files are exclusively opened by SQL Server. In the case of FILESTREAM data, SQL Server opens a filestream data file only when needed.  It does not open all the files and keeps a handle open, as it will be a huge wastage of resources. 

FILESTREAM data is supposed to be accessed though TSQL or through the API exposed by SQL Server. When the data is accessed through these methods, the permissions set by the SQL Administrator comes into picture and that is the security part you mentioned in the post.

In a real-world environment, a windows server administrator (not sql administrator) might protect the filestream folder against unauthorized &#039;direct-harmful-access&#039;.]]></description>
		<content:encoded><![CDATA[<p>@Zafar,<br />
This is a known behavior. SQL Server currently does not restrict &#8216;unauthorized access to the file through explorer or using command line&#8217;. Deleting/editing the files directly is not recommended and it can corrupt the database.</p>
<p>Consider it as bad as modifying the mdf/ldf files. SQL Server does not allow you to modify them when the server is up and running because the files are exclusively opened by SQL Server. In the case of FILESTREAM data, SQL Server opens a filestream data file only when needed.  It does not open all the files and keeps a handle open, as it will be a huge wastage of resources. </p>
<p>FILESTREAM data is supposed to be accessed though TSQL or through the API exposed by SQL Server. When the data is accessed through these methods, the permissions set by the SQL Administrator comes into picture and that is the security part you mentioned in the post.</p>
<p>In a real-world environment, a windows server administrator (not sql administrator) might protect the filestream folder against unauthorized &#8216;direct-harmful-access&#8217;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zafar</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-59769</link>
		<dc:creator><![CDATA[Zafar]]></dc:creator>
		<pubDate>Fri, 15 Jan 2010 06:47:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-59769</guid>
		<description><![CDATA[Hi Pinal

    I have to come know that security of the files saved on the local drive using Filestream is managed by the sql server itself.  

When i delete the the file from NTFS , it allowed me to delete the file. but when i executed the query SELECT * FROM dbo.FileStreamTable
it given me the error 

Msg 233, Level 20, State 0, Line 0
A transport-level error has occurred when receiving results from the server. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)

Why the file was deleted from the local path (instead it should be deleted from sql server because the security was managed by FileStream)


Regards]]></description>
		<content:encoded><![CDATA[<p>Hi Pinal</p>
<p>    I have to come know that security of the files saved on the local drive using Filestream is managed by the sql server itself.  </p>
<p>When i delete the the file from NTFS , it allowed me to delete the file. but when i executed the query SELECT * FROM dbo.FileStreamTable<br />
it given me the error </p>
<p>Msg 233, Level 20, State 0, Line 0<br />
A transport-level error has occurred when receiving results from the server. (provider: Shared Memory Provider, error: 0 &#8211; No process is on the other end of the pipe.)</p>
<p>Why the file was deleted from the local path (instead it should be deleted from sql server because the security was managed by FileStream)</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jacob sebastian</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-59322</link>
		<dc:creator><![CDATA[jacob sebastian]]></dc:creator>
		<pubDate>Mon, 04 Jan 2010 12:10:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-59322</guid>
		<description><![CDATA[@Zafar,
FILESTREAM columns can be replicated. However, the clients needs to be running SQL Server 2008.]]></description>
		<content:encoded><![CDATA[<p>@Zafar,<br />
FILESTREAM columns can be replicated. However, the clients needs to be running SQL Server 2008.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zafar</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-59318</link>
		<dc:creator><![CDATA[Zafar]]></dc:creator>
		<pubDate>Mon, 04 Jan 2010 11:16:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-59318</guid>
		<description><![CDATA[Hi Pinal ,

         Did FILESTREAM supports replication]]></description>
		<content:encoded><![CDATA[<p>Hi Pinal ,</p>
<p>         Did FILESTREAM supports replication</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wolf</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-57118</link>
		<dc:creator><![CDATA[Wolf]]></dc:creator>
		<pubDate>Wed, 28 Oct 2009 20:40:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-57118</guid>
		<description><![CDATA[I have a dilemma.

I am designing a database for an application that stores 20000 images (100-200K each).

For one the recommendation is not to use FILESTREAM if the file size is smaller than 250K, but on the other side I have 20000 images a day which would require tons of DB size.... 

So now is the question should those images be saved as a varbinary(max) blob or should we use the FILESTREAM attribute?

Images are not accessed frequently after they were saved.

Thanks,
Wolf]]></description>
		<content:encoded><![CDATA[<p>I have a dilemma.</p>
<p>I am designing a database for an application that stores 20000 images (100-200K each).</p>
<p>For one the recommendation is not to use FILESTREAM if the file size is smaller than 250K, but on the other side I have 20000 images a day which would require tons of DB size&#8230;. </p>
<p>So now is the question should those images be saved as a varbinary(max) blob or should we use the FILESTREAM attribute?</p>
<p>Images are not accessed frequently after they were saved.</p>
<p>Thanks,<br />
Wolf</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: marc</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-57115</link>
		<dc:creator><![CDATA[marc]]></dc:creator>
		<pubDate>Wed, 28 Oct 2009 16:36:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-57115</guid>
		<description><![CDATA[i have a t-sql query that dumps data and images in XML format.  images vary substantially in size due to lack of restrictions on image uploads to DB.

i would like to extract all DB resident images and force to a certain height/width as part of the XML extraction.

i know there are many ways to do this with but we would like to keep it internal to the DB query if possible.

thanks]]></description>
		<content:encoded><![CDATA[<p>i have a t-sql query that dumps data and images in XML format.  images vary substantially in size due to lack of restrictions on image uploads to DB.</p>
<p>i would like to extract all DB resident images and force to a certain height/width as part of the XML extraction.</p>
<p>i know there are many ways to do this with but we would like to keep it internal to the DB query if possible.</p>
<p>thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jacob sebastian</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-55900</link>
		<dc:creator><![CDATA[jacob sebastian]]></dc:creator>
		<pubDate>Wed, 16 Sep 2009 01:45:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-55900</guid>
		<description><![CDATA[@Saud, 
There are all chances that you get better performance if the separate file group is on a separate disk volume. The performance gain will come from being able to do parallel reads and writes.]]></description>
		<content:encoded><![CDATA[<p>@Saud,<br />
There are all chances that you get better performance if the separate file group is on a separate disk volume. The performance gain will come from being able to do parallel reads and writes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saud</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-55876</link>
		<dc:creator><![CDATA[Saud]]></dc:creator>
		<pubDate>Tue, 15 Sep 2009 07:07:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-55876</guid>
		<description><![CDATA[Hi, All

Do i have any performance gain if i create my table containing large binary data into separate file group.]]></description>
		<content:encoded><![CDATA[<p>Hi, All</p>
<p>Do i have any performance gain if i create my table containing large binary data into separate file group.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: krunal</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-55034</link>
		<dc:creator><![CDATA[krunal]]></dc:creator>
		<pubDate>Wed, 19 Aug 2009 19:20:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-55034</guid>
		<description><![CDATA[@Jacob     
Thanks for your reply.]]></description>
		<content:encoded><![CDATA[<p>@Jacob<br />
Thanks for your reply.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Sebastian</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-55026</link>
		<dc:creator><![CDATA[Jacob Sebastian]]></dc:creator>
		<pubDate>Wed, 19 Aug 2009 16:00:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-55026</guid>
		<description><![CDATA[Yes, you can alter a non-filestream database and add a filestream file group and make it file-stream-enabled database.]]></description>
		<content:encoded><![CDATA[<p>Yes, you can alter a non-filestream database and add a filestream file group and make it file-stream-enabled database.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Krunal</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-54979</link>
		<dc:creator><![CDATA[Krunal]]></dc:creator>
		<pubDate>Tue, 18 Aug 2009 15:39:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-54979</guid>
		<description><![CDATA[Hey Pinal,

I have a question.

Can we ALTER database with FILESTREAM option?
Please let me know.

Thanks,]]></description>
		<content:encoded><![CDATA[<p>Hey Pinal,</p>
<p>I have a question.</p>
<p>Can we ALTER database with FILESTREAM option?<br />
Please let me know.</p>
<p>Thanks,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Sebastian</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-54355</link>
		<dc:creator><![CDATA[Jacob Sebastian]]></dc:creator>
		<pubDate>Sat, 01 Aug 2009 17:21:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-54355</guid>
		<description><![CDATA[And for those using SQL Server Express, the 4 GB limit per database limitation does not apply to FILESTREAM data. 

Also, FILESTREAM data can be stored in a compressed disk volume as well. FILESTREAM data can be used in FULL Text Indexing and can be used in replication as well as log shipping.

However, you cannot do database mirroring on a database that uses FILESTREAM feature.]]></description>
		<content:encoded><![CDATA[<p>And for those using SQL Server Express, the 4 GB limit per database limitation does not apply to FILESTREAM data. </p>
<p>Also, FILESTREAM data can be stored in a compressed disk volume as well. FILESTREAM data can be used in FULL Text Indexing and can be used in replication as well as log shipping.</p>
<p>However, you cannot do database mirroring on a database that uses FILESTREAM feature.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: K</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-53808</link>
		<dc:creator><![CDATA[K]]></dc:creator>
		<pubDate>Fri, 17 Jul 2009 19:32:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-53808</guid>
		<description><![CDATA[You forgot to mention another disadvantage of storing images in the database, and that&#039;s partitioning.

Once your server starts noticing the load, you need to add another database server. That can happen quicker than you think. If you store images in the filesystem, you can just add a light weight web server that&#039;s responsible for serving only images. You can even offload the images to a CDN.

Another disadvantage is the relatively longer connections you keep in your databases. Unless the database does some prefetching to memory, you would need to keep that connection open while the user downloads the file. And if the database prefetches the image into memory, it will increase the memory requirements of your database server.]]></description>
		<content:encoded><![CDATA[<p>You forgot to mention another disadvantage of storing images in the database, and that&#8217;s partitioning.</p>
<p>Once your server starts noticing the load, you need to add another database server. That can happen quicker than you think. If you store images in the filesystem, you can just add a light weight web server that&#8217;s responsible for serving only images. You can even offload the images to a CDN.</p>
<p>Another disadvantage is the relatively longer connections you keep in your databases. Unless the database does some prefetching to memory, you would need to keep that connection open while the user downloads the file. And if the database prefetches the image into memory, it will increase the memory requirements of your database server.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: KKB</title>
		<link>http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/#comment-53649</link>
		<dc:creator><![CDATA[KKB]]></dc:creator>
		<pubDate>Mon, 13 Jul 2009 02:19:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=5823#comment-53649</guid>
		<description><![CDATA[Again good  modularized sense of explanation.
Please help us with some example 

Thanks 

K.K.B]]></description>
		<content:encoded><![CDATA[<p>Again good  modularized sense of explanation.<br />
Please help us with some example </p>
<p>Thanks </p>
<p>K.K.B</p>
]]></content:encoded>
	</item>
</channel>
</rss>
