使用 sqlsrv_query 获取 MS_DESCRIPTION 失败
Using sqlsrv_query to get MS_DESCRIPTION fails
我正在尝试通过 FN_ListExtendedProperty 函数从 SQL 2008 R2 数据库中检索 MS_DESCRIPTION 扩展 属性,但是查询 returns 没有结果。在 SMS 中执行相同的查询按预期工作。是否有其他/更好的方法来获取该字段?
-- 编辑--
我正在使用 sqlsrv_query 来尝试以下查询。我还想避免使用 sqlsrv_field_metadata,因为 sqlsrv_query 函数由不提供对数据库的直接访问的 class 处理,并且 returns 记录集为二维数组。
查询:
SELECT
CAST(Value AS VarChar(255)) AS [Label]
FROM
FN_ListExtendedProperty('MS_DESCRIPTION', 'schema', 'dbo', 'table', 'TeamMemberPrivileges', 'column', NULL)
您可以直接查询sys.extended_properites:
SELECT CAST(Value AS VarChar(255)) AS [Label]
FROM sys.extended_properties
WHERE major_id = OBJECT_ID('dbo.TeamMemberPrivileges') AND name ='MS_DESCRIPTION'
我正在尝试通过 FN_ListExtendedProperty 函数从 SQL 2008 R2 数据库中检索 MS_DESCRIPTION 扩展 属性,但是查询 returns 没有结果。在 SMS 中执行相同的查询按预期工作。是否有其他/更好的方法来获取该字段?
-- 编辑--
我正在使用 sqlsrv_query 来尝试以下查询。我还想避免使用 sqlsrv_field_metadata,因为 sqlsrv_query 函数由不提供对数据库的直接访问的 class 处理,并且 returns 记录集为二维数组。
查询:
SELECT
CAST(Value AS VarChar(255)) AS [Label]
FROM
FN_ListExtendedProperty('MS_DESCRIPTION', 'schema', 'dbo', 'table', 'TeamMemberPrivileges', 'column', NULL)
您可以直接查询sys.extended_properites:
SELECT CAST(Value AS VarChar(255)) AS [Label]
FROM sys.extended_properties
WHERE major_id = OBJECT_ID('dbo.TeamMemberPrivileges') AND name ='MS_DESCRIPTION'