?
?
-- 也可以用GetFileNamespacePath查看 FileTable 中文件或目录的 UNC 路径。 SELECT file_stream.GetFileNamespacePath() ,file_stream.GetFileNamespacePath(1, 0) FROM [dbo].[DocumentStore]
?
删除表 FileTable 中的记录,文件也会被删除:
?
-- 删除表 FileTable 中的记录,文件也会被删除 DELETE FROM [dbo].[DocumentStore] WHERE stream_id = 'BA483ECA-AE0E-E511-8367-005056C00008' SELECT * FROM [dbo].[DocumentStore]
?
若要获取执行某些管理任务所需的独占访问权限,可能必须暂时禁用非事务性访问权限。
禁用完全非事务性访问权限:
?
ALTER DATABASE [AdventureWorks2012]
SET FILESTREAM ( NON_TRANSACTED_ACCESS = OFF );
GO
-- 关闭后,路径无法打开
-- \\Kk-pc\mssqlserver\FileStreamPath\FileStreamPath
-- 此时文件表 [DocumentStore] 仍可正常操作
ALTER DATABASE [AdventureWorks2012]
SET FILESTREAM ( NON_TRANSACTED_ACCESS = READ_ONLY );
GO
-- 只读状态,路径可拷贝文件出来,但无法拷贝文件到该目录
-- \\Kk-pc\mssqlserver\FileStreamPath\FileStreamPath
-- 此时文件表 [DocumentStore] 仍可正常操作
重新启用完全非事务性访问权限:
?
?
-- 重新启用完全非事务性访问权限
ALTER DATABASE [AdventureWorks2012]
SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL );
GO
?
禁用 FileTable 命名空间将会禁用所有系统定义的约束并触发使用 FileTable 创建的约束。
?
-- 禁用 FileTable 命名空间 -- (禁用后路径 \\Kk-pc\mssqlserver\FileStreamPath\FileStreamPath 不可访问) ALTER TABLE [DocumentStore] DISABLE FILETABLE_NAMESPACE; GO
-- 重新启用 FileTable 命名空间 ALTER TABLE [DocumentStore] ENABLE FILETABLE_NAMESPACE; GO
更多注意的事情还需要到参考官方文档:FileTable 与其他 SQL Server 功能的兼容性
?