小编典典

SQL Server Management Studio错误:UserDefinedFunction的脚本失败

sql

我正在使用SSMS处理本地和远程SQL Server实例。我创建了一个小函数,例如:

create function ufnTestFunc ()
returns int
begin
    return 1
end

当我尝试对其进行“修改”或选择“脚本功能为-> alter”时,出现如下错误:

UserDefinedFunction’dbo.ufnTestFunc’的脚本失败。(Microsoft.SqlServer.Smo)

-UserDefinedFunction’ufnTestFunc’的TextHeader中的语法错误。(Microsoft.SqlServer.Smo)

这在已经存在的功能上也会发生。可能是什么原因?


笔记:

  • 所有功能均按预期工作
  • 我可以毫无问题地将函数编写为“创建”脚本。
  • 它与注释无关,因为测试功能中没有注释
  • 远程服务器上的不同数据库也会发生相同的情况

本地服务器:
Microsoft SQL Server Express Edition(64位)-10.50.2500.0

远程服务器:
Microsoft SQL Server Web版(64位)-10.50.1600.1

SSMS:

Microsoft SQL Server Management Studio    10.50.2500.0
Microsoft Data Access Components (MDAC)   6.1.7601.17514
Microsoft MSXML                           3.0 6.0 
Microsoft .NET Framework                  2.0.50727.5448

阅读 192

收藏
2021-04-28

共1个答案

小编典典

好的,就像前面提到的人一样,但有一点区别。

问题是AS关键字。尽管AS函数内容之前的关键字是可选的,但SSMS不能在没有它的情况下处理函数。他们工作,但制造麻烦。这是一个错误,在BOL的任何地方都没有提及。

我通常使用AS关键字,但是这次数据库来自以前未使用过的编码器。在我的测试函数中,我也没有使用它来使函数尽可能的小。

2021-04-28