SQL SERVER 数据库表索引重建
-- =============================================
-- Author: Yudg
-- Create date: 2011-08-25
-- Description: 数据库表索引重建
-- =============================================
CREATE PROCEDURE [pDBReIndex]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Name VARCHAR(512)
DECLARE Cur Cursor For
SELECT name FROM SYS.tables
Open Cur
Fetch Next From Cur INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@Name)
IF @@ERROR > 0 GOTO Err --错误处理
FETCH NEXT FROM Cur INTO @Name
END
CLOSE Cur
DEALLOCATE Cur
RETURN
/******************************************************
错误处理
\******************************************************/
Err:
BEGIN
--抛出异常
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
SELECT @ErrorMessage = ERROR_MESSAGE();
SELECT @ErrorSeverity = ERROR_SEVERITY();
SELECT @ErrorState = ERROR_STATE();
RAISERROR (@ErrorMessage, -- Message text.
@ErrorSeverity, -- Severity.
@ErrorState -- State.
);
END
END

浙公网安备 33010602011771号