TSQL用于获取FileTable所属的模式

时间:2015-12-27 17:25:32

标签: sql-server

我试图通过脚本列出并删除数据库中的所有FileTables

sys.filetables中选择不会返回FileTable所属的架构,而从INFORMATION_SCHEMA.TABLES中选择并不表示该表是否为filetable

我宁愿不在两者之间进行连接以找到通用名称,因为如果FileTable和常规表具有相同的名称,这不是一般解决方案。

是否有人知道要列出所有FileTables以及他们所属的schema的查询?

2 个答案:

答案 0 :(得分:3)

sys.filetables曝光object_id。这应该足以使用内置插件OBJECT_NAMEOBJECT_SCHEMA_NAME找到对象名称和架构:

SELECT
  OBJECT_SCHEMA_NAME(object_id) as schema_name,
  OBJECT_NAME(object_id) as table_name,
  *
  FROM sys.filetables;

答案 1 :(得分:1)

尝试使用SYS.TABLES

SELECT Schema_Name = s.NAME, 
       Filetable_Name = t.NAME 
FROM   sys.tables t 
       JOIN sys.schemas s 
         ON t.[schema_id] = s.[schema_id] 
WHERE  t.is_filetable = 1 

查询:

contentEdgeInsets