一位客户报告说他们正在SQL Server 2012上运行,我们在最终交付之前交付了一些测试查询以进行测试,但是:
'CONCAT'不是公认的内置函数名称。
我知道这CONCAT()
是SQL Server 2012中引入的一个新的内置函数,它很好,但是我被要求回退我的更改以使此2008R2兼容,理由是“执行查询的用户可能无法具有执行Transact-SQL权限。” 因此,我只是想证明我的观点,即客户端最有可能在DEV中安装的SQL Server版本与在PROD中安装的SQL Server版本不同。
我找不到有关专门拒绝SELECT/EXECUTE
内置标量值函数的权限的任何信息,但是是否可以,如果这样,用户仍然会收到相同的错误文本吗?
DECLARE @msg VARCHAR(200) = 'Shrink file completed. Target Size: ' + @TargetSize + ' MB. Timestamp: ' + CURRENT_TIMESTAMP;
SELECT (c.FirstName+','+c.LastName) AS FULLNAME FROM graduatejob c;