我正在尝试运行脚本以在 SQL Server 2008 r2 上设置 tsqlt 并收到此错误
“OBJECT_SCHEMA_NAME”不是可识别的内置函数名称。
在另一台装有 SQL 2008 r2 的机器上,脚本运行良好。
我看不到每台机器的 sql server 设置中的用户或权限有任何区别。
这是引发错误的语句:
CREATE FUNCTION tSQLt.Private_GetOriginalTableInfo(@TableObjectId INT)
RETURNS TABLE
AS
RETURN SELECT CAST(value AS NVARCHAR(4000)) OrgTableName,
OBJECT_ID(QUOTENAME(OBJECT_SCHEMA_NAME(@TableObjectId))
+ '.' + QUOTENAME(CAST(value AS NVARCHAR(4000)))) OrgTableObjectId
FROM sys.extended_properties
WHERE class_desc = 'OBJECT_OR_COLUMN'
AND major_id = @TableObjectId
AND minor_id = 0
AND name = 'tSQLt.FakeTable_OrgTableName';
GO