尝试执行SQL Server存储过程时出现此错误:当前命令发生严重错误。结果(如果有的话)应该被丢弃。
这是打破的部分。有什么想法吗?谢谢!
IF @Supervisor = 1
AND @Calc = 1
BEGIN
INSERT INTO @Employees
SELECT [Employee_No]
FROM
dbo.fx_DetermineEmployeesBase
(
@Employee_ID
, NULL
, @Employee_ID
, 2
)
;WITH Applications AS
(
SELECT TOP 25
ROW_NUMBER() OVER (ORDER BY vw.[Fullname] ASC, vw.[Submission_Date] DESC) AS [Row]
, ((ROW_NUMBER() OVER (ORDER BY vw.[Fullname] ASC, vw.[Submission_Date] DESC) - 1) / @Page_Size) + 1 AS [Page_Number]
, vw.[Employee_No]
, CASE
WHEN fx.[New_Balance] > vw.[Balance] THEN vw.[Balance]
ELSE fx.[New_Balance]
END AS [Predicted_Balance]
FROM vw_Employee_Leave_Application vw
FULL OUTER JOIN @Employees e ON
vw.[Employee_No] = e.[Employee_No]
--This causes the error:
--A severe error occurred on the current command. The results, if any, should be discarded.
CROSS APPLY dbo.fx_Employee_Leave_Type_Balance_Predict_LastRow
(
NULL
, COALESCE
(
CASE
WHEN vw.[Start_Date] <=
(
SELECT TOP 1 [End_Date]
FROM vw_Employee_Leave_Planner
WHERE
[Employee_No] = vw.[Employee_No]
AND [Leave_Type_No] = vw.[Leave_Type_No]
AND
[Accepted] = 1
AND [End_Date] > GETDATE()
ORDER BY [End_Date] DESC
)
THEN
(
SELECT TOP 1 [End_Date]
FROM vw_Employee_Leave_Planner
WHERE
[Employee_No] = vw.[Employee_No]
AND [Leave_Type_No] = vw.[Leave_Type_No]
AND [Accepted] = 1
AND [End_Date] > GETDATE()
ORDER BY [End_Date] DESC
)
ELSE vw.[Start_Date]
END
, GETDATE()
)
, vw.[Employee_No]
, vw.[Leave_Type_No]
) fx
WHERE
(
vw.[Employee_No] = e.[Employee_No]
AND vw.Approver_No IS NULL
)
OR vw.[Approver_No] = @Approver_ID
),
PageSettings AS
(
SELECT TOP 1
[Row] AS [Item_Count]
, [Page_Number] AS [Page_Count]
FROM Applications
ORDER BY [Row] DESC
)
SELECT
[Row] AS [Row_Number]
, [Page_Number]
, @Page_Size AS [Page_Size]
, [Item_Count]
, [Page_Count]
FROM Applications, PageSettings
WHERE
[Page_Number] = @Page_No
OR @Page_No IS NULL
END
答案 0 :(得分:0)
就我在Google上看到的情况而言,这可能是:
link:
在测试索引的SQL Server 2005中,我创建了一个表 一个非聚集索引。我没有创建任何聚集索引 表。之后我运行了SELECT语句,它给了我以下错误。 当我看到错误时,我非常惊讶。它说Msg 0,它是什么 意味着这个错误不是微软所知的错误,它可能 是bug。
消息0,级别11,状态0,行0发生严重错误 当前命令。结果(如果有的话)应该被丢弃。消息0, 20级,状态0,0行电流发生严重错误 命令。结果(如果有的话)应该被丢弃。
我确实搜索了错误,发现它肯定是bug而且有 SQL Server 2005 Service Pack 2的累积更新包6,其中 解决了这个问题。您可以下载累积更新包6 从此处获取SQL Server 2005 Service Pack 2。
要解决此问题,请向Microsoft Online Customer提交请求 获取累积更新包的服务。在线提交 请求获取累积更新包,请访问以下内容 Microsoft网站:http://go.microsoft.com/?linkid=6294451
答案 1 :(得分:0)
恢复数据库的旧备份,然后重试,它解决了我的问题。