SqlServer FileTable验证笔记
SqlServer FileTable启用步骤
1、启用FileTable的先决条件:数据库必须首先具有 FILESTREAM 文件组,然后您才能在该数据库中创建 FileTable。 有关此先决条件的详细信息,请参阅 创建启用了 FILESTREAM 的数据库。(注:FileTable最好用独立的数据库上)
2、在命令行用SqlServerManagerXX.msc打开Sql配置管理器 (注:xx是对应版本,如12对应版本是sqlserver2014)
A、右键单击该实例,然后单击“属性”。在“SQL Server 属性”对话框中,单击“FILESTREAM”选项卡。
B、选中“针对 Transact-SQL 访问启用 FILESTREAM”复选框。如果要在 Windows 中读取和写入 FILESTREAM 数据,请单击“针对文件 I/O 流访问启用 FILESTREAM”。 在“Windows 共享名”框中输入 Windows 共享的名称。
C、如果远程客户端必须访问存储在此共享中的 FILESTREAM 数据,请选择“允许远程客户端针对 FILESTREAM 数据启用流访问”。单击“应用”。
D、在查询分析器内执行如下配置:
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
E、上述配置完后,重启SqlServer实例
3、创建FileTable对应的数据库。
-- 创建数据库时创建 FILESTREAM 文件组
CREATE DATABASE BigFileDb
ON
PRIMARY (
NAME = ArchiveMDF,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\BigFileDb.mdf', -- 路径“..\MSSQL\Data\”必须存在
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB
),
FILEGROUP FileStreamGroupFirst CONTAINS FILESTREAM(
NAME = ArchiveFILESTREAM,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\BigFileDbStream', -- 路径“..\MSSQL\Data\”下“BigFileDbStream”文件夹必须不存在
MAXSIZE = 50 MB
)
LOG ON (
NAME = ArchiveLDF,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\BigFileDb.ldf'
)
WITH FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'BigFileDbDir' ) -- 指定数据库访问级别和指定目录名字, “BigFileDbDir”是网络共享文件的逻辑目录
GO
(注意事项:禁用 FILESTREAM 计算机系统中的短文件名。 创建短文件名需要花费相当长的时间。 若要禁用短文件名,可先以管理员身份运行Cmd,并执行:
Fsutil 8dot3name set 1 表示计算机禁用短文件名。定期对 FILESTREAM 计算机系统进行碎片整理。使用 64-KB NTFS 簇。 压缩卷必须设置为 4-KB NTFS 簇)
4、此时BigFileDb内的共享目录尚无写权限,必须创建FileTable后,才可往目录内读、写文件
-- 创建FILETABLE
USE BigFileDb
GO
CREATE TABLE PictureDir
AS FileTable
WITH (
--文件目录,不区分大小写,不指定则默认为filetable名称[FileStore]
FileTable_Directory = N'PictureDir',
FileTable_Collate_Filename = database_default --排序规则
)
GO
5、用 select FileTableRootPath('dbo.picturefiles') 获取文件表的网络路径后,就可直接往此目录用访问文件方式拷贝或删除文件。
6、Select * from PictureFiles 可查看当前表对应文件目录内所有子目录及文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏