SQL Server FILESTREAM查询和文件组

In this series of the SQL Server FILESTREAM (see TOC at bottom), We have gone through various aspects of this feature to store large size objects into the file systems.

在本系列SQL Server FILESTREAM(请参见底部的TOC)中,我们介绍了此功能的各个方面,以将大型对象存储到文件系统中。

In the previous SQL Server FILESTREAM articles, we have covered the following benefits from this feature:

在以前SQL Server FILESTREAM文章中,我们介绍了此功能的以下优点:

  • The benefit of NTFS data streaming

    NTFS数据流的好处
  • Less overhead on SQL Server for the large BLOB objects

    大型BLOB对象在SQL Server上的开销更少
  • Backup includes the metadata along with the FILESTREAM container data

    备份包括元数据以及FILESTREAM容器数据
  • FILESTREAM also allows Point-in-time restore for the database

    FILESTREAM还允许对数据库进行时间点还原
  • FILESTREAM provides the transactional consistency also which is the primary requirement of any database

    FILESTREAM还提供事务一致性,这也是任何数据库的主要要求

Now let’s review a few more features of SQL Server FILESTREAM.

现在,让我们回顾一下SQL Server FILESTREAM的其他功能。

FILESTREAM数据库容器 (FILESTREAM database Container)

We cannot use the FILESTREAM container for another database. This restriction also applies to the subfolder of the FILESTREAM container. In the previous article, we used the file system ‘ C:\sqlshack\Demo’ for the sample database.

我们不能将FILESTREAM容器用于另一个数据库。 此限制也适用于FILESTREAM容器的子文件夹。 在上一篇文章中,我们将文件系统'C:\ sqlshack \ Demo'用于示例数据库。

Database Name

FILESTREAM Container

(file system location)

Remarks

FileStreamDemodatabase_test

C:\sqlshack\Demo

It works fine.

FileStreamDemodatabase_test _New

C:\sqlshack\Demo

Error: Since other database is using this location.

FileStreamDemodatabase_test _New

C:\sqlshack\Demo\New

Error: we cannot use the child folder as well. In this case, the parent folder is being used by the FILESTREAM database ‘DemoSQL.’

数据库名称

FILESTREAM容器

(文件系统位置)

备注

FileStreamDemodatabase_test

C:\ sqlshack \ Demo

它工作正常。

FileStreamDemodatabase_test _New

C:\ sqlshack \ Demo

错误:由于其他数据库正在使用此位置。

FileStreamDemodatabase_test _New

C:\ sqlshack \ Demo \ New

错误:我们也不能使用子文件夹。 在这种情况下,FILESTREAM数据库'DemoSQL'将使用父文件夹。

检查数据库中是否启用了FILESTREAM (Checking whether FILESTREAM is enabled or not in database)

We can check whether the SQL Server FILESTREAM feature at database level using the filegroup.

我们可以使用文件组在数据库级别检查SQL Server FILESTREAM功能。

Use FileStreamDemodatabase_test
Go
SELECT  *  FROM  sys.filegroups

The SQL Server FILESTREAM filegroup type is ‘FD’ therefore we can check the property using the above command, or we can use the print statement to give the output.

SQL Server FILESTREAM文件组的类型为“ FD”,因此我们可以使用上述命令检查属性,也可以使用print语句提供输出。

IF EXISTS ( SELECT  *  FROM    sys.filegroups   WHERE   type = 'FD' )   
BEGIN        
 PRINT 'FILESTREAM Filegroup Exists for the database; you can check the Physical file location'+@Physicalfilename   
 END 
ELSE     
BEGIN       
PRINT 'FILESTREAM Filegroup does not exist for this database'
 END

If I run this query on the FILESTREAM database, we get the below output.

如果我在FILESTREAM数据库上运行此查询,则会得到以下输出。

Otherwise, we get the output below.

否则,我们将获得以下输出。

使用SQL Server FILESTREAM功能检查表是否可以保存FILESTREAM数据 (Checking whether the table can hold FILESTREAM data using SQL Server FILESTREAM feature)

We must have a UNIQUEIDENTIFIER column with ROWGUIDCOL property in the table to hold the FILESTREAM data. You can check this using join system tables and views.

我们必须在表中具有一个带有ROWGUIDCOL属性的UNIQUEIDENTIFIER列,以保存FILESTREAM数据。 您可以使用联接系统表和视图进行检查。

IF EXISTS ( SELECT  *  FROM    sys.key_constraints sc                
INNER JOIN sys.indexes si     
ON sc.unique_index_id = si.index_id     
AND si.object_id = OBJECT_ID('DemoFileStreamTable_1')              
INNER JOIN 
( SELECT * ,                                   COUNT(*) 
OVER ( PARTITION BY index_id,                                                   object_id )
AS ColCount                                 
 FROM   sys.index_columns ) ic 
ON ic.index_id = si.index_id   
AND ic.object_id = si.object_id                     
INNER JOIN sys.columns c                 
ON c.column_id = ic.column_id                                 
AND c.object_id = ic.object_id     
AND c.is_rowguidcol = 1 
                             
AND c.is_nullable = 0          
WHERE   is_unique_constraint = 1 
    
OR ( is_primary_key = 1                          AND ColCount = 1                        )
 
)     
BEGIN       
PRINT 'Specified table can have FILESTREAM columns; it is having '     END 
ELSE      BEGIN    
PRINT 'You should modify the table to have UNIQUEIDENTIFIER column, currently it is not ready to have FILESTREAM columns'     END

We have included the table name in this query in which SQL Server FILESTREAM data needs to be added.

我们在此查询中包括了表名,其中需要添加SQL Server FILESTREAM数据。

If the table does not meet the requirements, we get the following output:

如果表不符合要求,我们将获得以下输出:

修改现有的VARBINARY(MAX)列以保存FILESTREAM数据 (Modifying existing VARBINARY(MAX) column to hold FILESTREAM data)

We might have a requirement to change the existing Varbinary(max) column to a FILESTREAM column. It might be due to the old versions of SQL Server (older than 2008) does not support FILESTREAM. Therefore, if we want to convert the existing column to FILESTREAM, we require to copy the data (objects) into the file system container. We cannot directly modify the table property to reflect these changes.

我们可能需要将现有的Varbinary(max)列更改为FILESTREAM列。 可能是由于SQL Server的旧版本(早于2008)不支持FILESTREAM。 因此,如果要将现有列转换为FILESTREAM,则需要将数据(对象)复制到文件系统容器中。 我们无法直接修改table属性以反映这些更改。

Suppose we have a table ‘customers’, which also holds customer images into the varbinary(Max) column.

假设我们有一个“客户”表,该表还将客户图像保存在varbinary(Max)列中。

We need to perform the below steps to change this.

我们需要执行以下步骤来更改此设置。



  • ALTER TABLE [dbo].[customers] ADD Image_temp VARBINARY(MAX) FILESTREAM NULL
    


  • UPDATE [dbo].[customers] SET  ItemImage_New = Imagedata
    


  • ALTER TABLE [dbo].[Items]  DROP COLUMN ItemImage
    


  • EXECUTE sp_rename      
    	@objname = '[dbo].[customers].ItemImage_New ',   
    	@newname = 'Imagedata',       
    	@objtype = 'COLUMN'
    

使用表名称标识SQL Server FILESTREAM文件组名称 (Identifying the SQL Server FILESTREAM filegroup name using the table name)

We might want to know the FILESTREAM filegroup name in which the particular table belongs. We can do it using the join condition between catalog view sys.data_spaces and sys.tables. The catalog view (sys.data_spaces) shows the row for each data space such as filegroup, partition.

我们可能想知道特定表所属的FILESTREAM文件组名称。 我们可以使用目录视图sys.data_spaces和sys.tables之间的连接条件来做到这一点。 目录视图(sys.data_spaces)显示每个数据空间(例如文件组,分区)的行。

Now join this catalog view with sys.tables to get the detail of filegroup belonging to a table.

现在,将此目录视图与sys.tables结合在一起,以获取属于表的文件组的详细信息。

In the above image, we can see that the table belongs to ‘DemoFileStreamFILESTREAM filegroup.

在上图中,我们可以看到该表属于'DemoFileStreamFILESTREAM文件组。

SQL Server FILESTREAM表的触发器 (Triggers for SQL Server FILESTREAM tables )

We can create the DML triggers for the FILESTREAM columns as well in the table. Suppose we want to create a trigger for the update or insert activity notification any insert occurs in the FILESTREAM table using the AFTER INSERT trigger.

我们也可以在表中为FILESTREAM列创建DML触发器。 假设我们想为更新或插入活动通知创建一个触发器,使用AFTER INSERT触发器在FILESTREAM表中发生任何插入。

Execute the below code to create an AFTER INSERT trigger.

执行以下代码以创建AFTER INSERT触发器。

DECLARE @File varbinary(MAX);  
SELECT  
@File = CAST(  
bulkcolumn as varbinary(max)  
)  
FROM  
OPENROWSET(BULK 'C:\WideWorldImporters-Full.bak', SINGLE_BLOB) as MyData; 
 
INSERT INTO DemoFileStreamTable_1  
VALUES  
(  
NEWID(),  
'Installation file SQL',  
@File
)

Now insert any FILESTREAM object in the table.

现在,在表中插入任何FILESTREAM对象。

DECLARE @File varbinary(MAX);  
SELECT  
@File = CAST(  
bulkcolumn as varbinary(max)  
)  
FROM  
OPENROWSET(BULK 'C:\WideWorldImporters-Full.bak', SINGLE_BLOB) as MyData; 
 
INSERT INTO DemoFileStreamTable_1  
VALUES  
(  
NEWID(),  
'Installation file SQL',  
@File
)

In the output, we get the message about the size of the inserted object.

在输出中,我们得到有关插入对象大小的消息。

Similarly, we can create AFTER UPDATE trigger and display the required message. For example, in the trigger below, we defined a message to print for every update in the FILESTREAM object.

同样,我们可以创建AFTER UPDATE触发器并显示所需的消息。 例如,在下面的触发器中,我们定义了一条消息,以针对FILESTREAM对象中的每次更新进行打印。

CREATE TRIGGER TGR_FS_Update ON DemoFileStreamTable_1     
AFTER UPDATE 
AS    
BEGIN       
DECLARE @Filesize INT         
 
SELECT  @Filesize = DATALENGTH([FILE])
FROM    INSERTED      
PRINT   'The updated size of the object in FILESTREAM is :' + STR(@Filesize)  
END

Now, we are going to replace the existing file with a new file so the trigger will give the updated size of the FILESTREAM object.

现在,我们将用新文件替换现有文件,以便触发器将提供FILESTREAM对象的更新大小。

UPDATE DemoFileStreamTable_1
SET [File] = (SELECT *
FROM OPENROWSET(
BULK 'C:\AdventureWorks2017.bak',
SINGLE_BLOB) AS Document)
WHERE fileid = '8662F1FA-8918-48D7-B752-AFBC0392902C'
GO

Once the update completes for the FILESTREAM table, we get the below message printed.

FILESTREAM表的更新完成后,我们将打印以下消息。

多个FILESTREAM文件组 (Multiple FILESTREAM filegroups)

We might be using the FILESTREAM for a large number of objects and might be big files such as videos. In the database, we usually create multiple secondary data files on different disks to split the load from a single disk or data store. The question may arise here whether SQL Server allows creating multiple FILESTREAM filegroups. We can create multiple FILESTREAM filegroups due to the disk space limitation. We can also create multiple filegroups to get the benefits of the multiple disks IO read and write latency and performance.

我们可能将FILESTREAM用于大量对象,并且可能是大文件,例如视频。 在数据库中,我们通常在不同的磁盘上创建多个辅助数据文件,以将负载从单个磁​​盘或数据存储区中分离出来。 这里可能会出现问题,即SQL Server是否允许创建多个FILESTREAM文件组。 由于磁盘空间的限制,我们可以创建多个FILESTREAM文件组。 我们还可以创建多个文件组,以获得多个磁盘IO读写延迟和性能的好处。

You can notice in the below that we created the multiple FILESTREAM filegroups.

您可以在下面注意到我们创建了多个FILESTREAM文件组。

CREATE DATABASE [FS_MultipleFG]
  ON  PRIMARY 
( NAME = N'FS_MultipleFG', FILENAME = N'C:\MS\FS_MultipleFG.mdf' , SIZE = 8192KB , FILEGROWTH = 65536KB ), 
 FILEGROUP [FILESTREAM_1] CONTAINS FILESTREAM DEFAULT
( NAME = N'FS_FG_1', FILENAME = N'C:\MS\FS_FG_1' ), 
 FILEGROUP [FILESTREAM_2] CONTAINS FILESTREAM 
( NAME = N'FS_FG_2', FILENAME = N'C:\NPE\FS_FG_2' )
 LOG ON 
( NAME = N'FS_MultipleFG_log', FILENAME = N'C:\MS\FS_MultipleFG_log.ldf' , SIZE = 8192KB , FILEGROWTH = 65536KB )
GO

Execute the above code and open the database properties from SSMS. In the ‘Filegroups’ page, you can see two FILESTREAM filegroups and defined ‘FILESTREAM_1’ as default FILESTREAM filegroup.

执行上面的代码,然后从SSMS中打开数据库属性。 在“文件组”页面中,您可以看到两个FILESTREAM文件组,并将“ FILESTREAM_1”定义为默认的FILESTREAM文件组。

In the database files, we created multiple FILESTREAM files in the different filegroups.

在数据库文件中,我们在不同的文件组中创建了多个FILESTREAM文件。

We have multiple FILESTREAM filegroups in this database. Therefore, we need to define the FILESTREAM filegroup while creating the table. If we do not specify any filegroup, it uses the default FILESTREAM filegroup (in this example FILESTREAM_1) to create the object.

在此数据库中,我们有多个FILESTREAM文件组。 因此,我们在创建表时需要定义FILESTREAM文件组。 如果我们未指定任何文件组,它将使用默认的FILESTREAM文件组(在本示例中为FILESTREAM_1)创建对象。

Let us create the tables to use the default FILESTREAM filegroup and specific FILESTREAM filegroup.

让我们创建表以使用默认的FILESTREAM文件组和特定的FILESTREAM文件组。

  • Default filegroup: in the below command, we did not specify any FILESTREAM filegroup.默认文件组:在以下命令中,我们未指定任何FILESTREAM文件组。

    CREATE TABLE [DemoFileStreamTable_1] (
    [FileId] UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
    [FileName] VARCHAR (25),
    [File] VARBINARY (MAX) FILESTREAM);
    GO
    

    In the below image, we can see SQL Server created the table in the default FILESTREAM filegroup.

    在下图中,我们可以看到SQL Server在默认的FILESTREAM文件组中创建了表。

  • Object creation in specific FILESTREAM filegroup: In the below code, we instructed SQL Server to create the table in the’ FILESTREAM_2′ filegroup. 在特定的FILESTREAM文件组中创建对象 :在下面的代码中,我们指示SQL Server在“ FILESTREAM_2”文件组中创建表。
    CREATE TABLE [DemoFileStreamTable_2] (
    	[FileId] UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
    	[FileName] VARCHAR (25),
    	[File] VARBINARY (MAX) FILESTREAM)
    	 FILESTREAM_ON FILESTREAM_2
    	GO
    

结论 (Conclusion)

In this article, we explored various aspects the SQL Server FILESTREAM feature available from SQL Server 2008 onwards. I will continue writing on this topic to complete this series. Stay tuned for the next article.

在本文中,我们从SQL Server 2008开始探讨了SQL Server FILESTREAM功能的各个方面。 我将继续就该主题进行写作以完成本系列。 请继续关注下一篇文章。

目录 (Table of contents)

FILESTREAM in SQL Server
Managing data with SQL Server FILESTREAM tables
SQL Server FILESTREAM Database backup overview
Restoring a SQL Server FILESTREAM enabled database
SQL Server FILESTREAM database recovery scenarios
Working with SQL Server FILESTREAM – Adding columns and moving databases
SQL Server FILESTREAM internals overview
Importing SQL Server FILESTREAM data with SSIS packages
SQL Server FILESTREAM queries and Filegroups
Viewing SQL Server FILESTREAM data with SSRS
SQL Server FILESTREAM Database Corruption and Remediation
Export SQL Server FILESTREAM Objects with PowerShell and SSIS
SQL FILESTREAM and SQL Server Full Text search
SQL Server FILESTREAM and Replication
SQL Server FILESTREAM with Change Data Capture
Transaction log backups in a SQL FILESTREAM database
SQL FILESTREAM Compatibility with Database Snapshot, Mirroring, TDE and Log Shipping
SQL Server FILETABLE – the next generation of SQL FILESTREAM
Managing Data in SQL Server FILETABLEs
SQL Server FILETABLE Use Cases
SQL Server中的文件流
使用SQL Server FILESTREAM表管理数据
SQL Server FILESTREAM数据库备份概述
还原启用了SQL Server FILESTREAM的数据库
SQL Server FILESTREAM数据库恢复方案
使用SQL Server FILESTREAM –添加列和移动数据库
SQL Server FILESTREAM内部概述
使用SSIS包导入SQL Server FILESTREAM数据
SQL Server FILESTREAM查询和文件组
使用SSRS查看SQL Server FILESTREAM数据
SQL Server FILESTREAM数据库损坏和修复
使用PowerShell和SSIS导出SQL Server FILESTREAM对象
SQL FILESTREAM和SQL Server全文搜索
SQL Server FILESTREAM和复制
具有更改数据捕获功能SQL Server FILESTREAM
SQL FILESTREAM数据库中的事务日志备份
SQL FILESTREAM与数据库快照,镜像,TDE和日志传送的兼容性
SQL Server FILETABLE –下一代SQL FILESTREAM
在SQL Server FILETABLEs中管理数据
SQL Server FILETABLE用例

翻译自: https://www.sqlshack.com/sql-server-filestream-queries-and-filegroups/

智能车图像处理9-进阶篇1--中线的提取 (1)10-50行 基础扫线 (2)56-71 断行0 ,就是比如遇到十字,十字路口下方 第一次断线的地方。 (3)83-124 按照原先有效行,拟线作为中值,然后从中值向左右扫线,同时计算赛道宽度。 (4)125-138 如果出现赛道宽度小于先前有效行,则找到二次扫线的起点,从二次扫线起点处,继续向下扫线,直至结束,同时记录最后的有效行。 (5) 310-- 最后计算左右边线类似于方差的值,用于环岛的判断 ***这里着重描述一下二次扫线,希望大家可以理解的深刻 阅读详情

相关推荐

SQL Server 文件组使用心得

虽然简单,这是我学习文件组的一点心得,希望能对初学者有一定的帮助!如果理解有问题就多练习几次,慢慢的就会有心得。

sql server数据库的创建与维护

1.创建数据库 2.查看数据库 3.查看可用数据库 4.查看文件信息 5.增加文件 6.查看文件组信息 7.分离数据库 8.附加数据库 9.修改数据库名字 10.修改数据库属性 11.删除数据库

小滕的Java学习旅途 930

基于MATLAB的随机信号分析方法

基于MATLAB的随机信号分析方法,对随机信号的基本概念进行了详细讲解了并结合mATLAB给出了仿真程序,有利于大家自学!

sqlserver文件组Filegroup的使用

转自:http://blog.sina.com.cn/s/blog_67f684100100ngoz.html 数据库的操作: 1. 对数据文件的操作(添加,删除,修改文件的初始大小,最大大小,步长) 2. 数据库文件的收缩 3. 数据库的只读/读写   read_only只读   read_write可读写   read_only表示只读  read_write表示可读可

新博客:https://aping-dev.com/ 1万+

SQL Server 数据库文件文件组

SQL Server 数据库有三种类型的文件 类型 扩展名 全称 主要数据文件 .mdf primary data file 次要数据文件 .ndf secondary data file 事务日志文件 .ldf log data file 主要数据文件(*.mdf) 主要数据文件的建议文件扩展名是 .mdf。 主要数据文件包含数据库的启动信息,并指向数据库中的其他文件,存储部分或全部的数据。用户数据对象可存储在此文件中,也可以存储在次要数据文件中。 每个数据库有一个主要数据

Ruishine的博客 1万+

SQL Server 文件组详解

SQL Server 数据库最常用的存储文件是数据文件日志文件。数据文件的组合,称作文件组(File Group),数据库不能直接设置存储数据的数据文件,而是通过文件组来指定。

Ruishine的博客 2167

SQL SERVER 文件文件组

1、文件文件组的含义与关系 每个数据库有一个主数据文件.若干个从文件。文件是数据库的物理体现。 文件组可以包括分布在多个逻辑分区的文件,实现负载平衡。文件组允许对文件进行分组,以便于管理数据的分配/放置。例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf、Data2.ndf Data3.ndf),并将这三个文件指派到文件组 fgroup1 ...

wengyupeng 蜗牛一步一步向前。。。 1618

SQL Server 2012 新特性:其他

安装期间的设置 为了强化角色分离,不自动在 sysadmin 固定服务器角色中设置BUILTIN\administratorsLocal System(NT AUTHORITY\SYSTEM)。本地管理员在单用户模式下仍可访问数据库引擎。 FILESTREAM 文件组可以包含多个文件 一个 FILESTREAM 文件组可以...

weixin_34265814的博客 89

SQL Server 中启用 FileStream

原文地址 最近在研究在数据库中存储大数据文件,看到了FileStream 这个功能,记录下来以备后用 FileStream 一般在安装的时候默认是不启用的,如果你留意的话,在选择数据库文件路径那个窗口,有一个标签是“FileStream". 如果在安装的时候你没有启用,安装后可以通过以下设置来开启FileStream 功能。 1. 打开 SQL Server 配置管理器, 在SQL ...

weixin_30530939的博客 243

SQL Server FileStream (转载)

SQL SERVER 2008开始,SQL SERVER引入了一种新的文件组类型叫FileStream文件组,如下图所示: 那么这种文件组是用来做什么的呢? 以往我们对文件管理有两种方法: 数据库只保存文件的路径,具体的文件保存在文件服务器(NFS)上,使用时,编程实现从文件服务器读取文件; 将文件直接以varbinary(max)或image数据类型保存在数...

304

SQL ServerFileStreamFileTable

互联网时代数据是爆炸式增长,我们常常需要把结构化数据非结构化数据(如文档,演示文稿,视频,音频,图像)存储在一起。通常有几种方案:1。在数据库中存储结构化数据,在文件系统中存储非结构化数据,然后数据库里有一个字段记录文件系统的路径,虽然这种方法成本合算,但它引入了额外的复杂度,因为你需要手动去保证跨关系非关系系统管理事务的完整性。2。将结构化数据非结构化数据都存储在数据库中,多...

dengshumi7891的博客 609

还原启用了SQL Server FILESTREAM数据库

In the series on the SQL Server FILESTREAM feature, we have explored the various aspects of FILESTREAM including its overview, internal architecture, database creation etc. In my last article [put...

culuo4781的博客 811

使用SQL Server FILESTREAM –添加列移动数据库

SQL Server FILESTREAM is a great feature to store unstructured data into the file system with the metadata into SQL Server database. In the article, FILESTREAM in SQL Server, we wrote to enable the FI...

culuo4781的博客 853

SQL FILESTREAMSQL Server全文搜索

In this article, the latest in our series on the SQL FILESTREAM feature, we are going to look at the synergy and interoperability with SQL Server Full Text search, another powerful SQL Server feat...

culuo4781的博客 536

具有更改数据捕获功能SQL Server FILESTREAM

Sometimes we require tracking data change activity (Insert, update and deletes) in SQL Server tables. SQL Server 2008 introduced Change Data Capture (CDC) to track these changes in the user-define...

culuo4781的博客 301

SQL Server 2008新特性——FILESTREAM

<br /><br />FILESTREAM简介<br /> <br />FILESTREAMSQL Server 2008中的一个新特性,允许以独立文件的形式存放大对象数据,而不是以往一样将所有数据都保存到数据文件中。以往在对业务系统的文件进行管理时有两种方法,一种是将文件保存到服务器文件系统中,数据库中只保存了该文件的路径,在使用该文件时应用程序连接到服务器读取文件;另一种是将文件以 varbinary(max)或image数据类型保存到SQL Server中。而SQL Server 2008提供了F

金 色 的 草 棚 466

SQL Server 使用 FileStream存储图片文件等BLOB资料

SQL Server 可以使用varbinary(max)类型存储二进制位大型类型(BLOB),主要是文件、照片、影像等非结构化资料,但仍存在一些限制,比如: 1.最大只能是2G的资料; 2.资料如果太多将影响性能。 因此我们也经常采用把文件存在磁盘上,而只在数据库表中存放文件地址,但这种方法会增加系统的复杂度,因为需要去维护记录与文件地址的联系。 SQL Server 提供了 FileStream(文件资料流),将BLOB对象存储为文件,并自动管理数据库表与对应文件的联系。 何时考虑使用FileStrea

segclliwf的博客 2557
上一篇: SQL Server Reporting Services最佳做法
下一篇: ssas表格模型 权限控制_创建第一个SSAS表格模型数据库
culuo4781
博客等级 码龄10年 311粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值