FileTable是基于FILESTREAM的一个特性。有以下一些功能:
- 一行表示一个文件或者目录。
- 每行包含以下信息:
-
- file_Stream流数据,stream_id标示符(GUID)。
- 用户表示和维护文件及目录层次关系的path_locator和parent_path_locator
- 有10个文件属性
- 支持对文件和文档的全文搜索和语义搜索的类型列。
- filetable强制执行某些系统定义的约束和触发器来维护命名空间的语义
- 针对非事务访问时,SQL Server配置FILESTREAM共享区下公开在FileTable中表示的文件和目录结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | --1.配置实例级别的filestream,取值如下 --0:为此实例禁用 FILESTREAM 支持。 --1:针对 Transact-SQL 访问启用 FILESTREAM。 --2:针对 Transact-SQL 和 Win32 流访问启用 FILESTREAM。 EXEC sp_configure 'filestream_access_level' , 2 GO RECONFIGURE --启动 ALTER DATABASE test SET FILESTREAM (NON_TRANSACTED_ACCESS = FULL , DIRECTORY_NAME = 'test' ) --添加filestream文件组 ALTER DATABASE test ADD FILEGROUP filestreamgroup CONTAINS FILESTREAM GO ALTER DATABASE test ADD FILE ( NAME = 'fg1' , FILENAME = 'D:\FileStream\fg1' ) TO FILEGROUP filestreamgroup GO --需要非事务访问,directory_name SELECT DB_NAME (database_id ), non_transacted_access , non_transacted_access_desc, directory_name FROM sys. database_filestream_options ; GO CREATE TABLE DocumentStore AS FileTable WITH ( FileTable_Directory = 'DocumentTable' , FileTable_Collate_Filename = database_default ); GO --插入目录 INSERT INTO dbo. DocumentStore ( name , is_directory ) SELECT 'MyDir01' , 1 ; --在新增目录上,插入文件 SELECT @path = path_locator FROM dbo. DocumentStore WHERE name = 'MyDir01' SELECT @new_path = @path. ToString() + CONVERT ( VARCHAR (20 ), CONVERT ( BIGINT , SUBSTRING ( CONVERT ( BINARY ( 16), NEWID ()), 1 , 6))) + '.' + CONVERT ( VARCHAR (20 ), CONVERT ( BIGINT , SUBSTRING ( CONVERT ( BINARY ( 16), NEWID ()), 7 , 6))) + '.' + CONVERT ( VARCHAR (20 ), CONVERT ( BIGINT , SUBSTRING ( CONVERT ( BINARY ( 16), NEWID ()), 13 , 4))) + '/' INSERT INTO dbo. DocumentStore ( name , file_stream , path_locator ) SELECT N '空文件.txt' , 0x , @new_path SELECT getpathlocator ( '\\fanr-pc\SQL2016\test\DocumentTable\1.txt' ), * FROM DocumentStore |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2011-08-09 使用powershell 设置 sql server 协议
2010-08-09 浅析ASP.NET回车提交事件[转]