home *** CD-ROM | disk | FTP | other *** search
/ moodle.waes.ac.uk / moodle.waes.ac.uk.zip / moodle.waes.ac.uk / TMG / SP1-TMG-KB981324-AMD64-ENU.msp / PCW_CAB_SHFx2 / F2143_msfpcui.dll / BINARY / 25530 < prev    next >
Text File  |  2010-06-15  |  2KB  |  74 lines

  1. CREATE PROCEDURE [dbo].[ISA_spFlushServerCommitedTables] 
  2.     @RemoteRegistryTbl varchar(300)
  3. AS
  4. BEGIN
  5.     SET NOCOUNT ON;
  6.     SET XACT_ABORT ON 
  7.  
  8.     BEGIN TRANSACTION
  9.     BEGIN TRY
  10.         -- commit all summary tbls
  11.         CREATE TABLE #RegTbl 
  12.         (
  13.             TempTableName varchar(300), 
  14.             TableName varchar(300)
  15.         )
  16.         
  17.         DECLARE @strGetTbls varchar(2000)
  18.         SET @strGetTbls = '
  19.            INSERT INTO #RegTbl
  20.            SELECT * 
  21.            FROM [' + @RemoteRegistryTbl + ']'
  22.         PRINT 'Executing: ' + @strGetTbls
  23.         EXEC(@strGetTbls)
  24.  
  25.         DECLARE @TblName varchar(300)
  26.         DECLARE @TmpTblName varchar(300)
  27.         IF EXISTS (SELECT [TableName] FROM #RegTbl)
  28.         BEGIN 
  29.             DECLARE tbl_cursor CURSOR FOR 
  30.             SELECT [TempTableName], [TableName] 
  31.             FROM #RegTbl
  32.  
  33.             OPEN tbl_cursor
  34.             FETCH NEXT FROM tbl_cursor INTO @TmpTblName, @TblName
  35.             WHILE (@@FETCH_STATUS = 0)
  36.             BEGIN 
  37.                 EXECUTE ISA_spFlushSingleServerSummary 
  38.                        @TempTblName               = @TmpTblName, 
  39.                        @TblName                   = @TblName
  40.             
  41.                 FETCH NEXT FROM tbl_cursor INTO @TmpTblName, @TblName
  42.             END
  43.             CLOSE tbl_cursor
  44.             DEALLOCATE tbl_cursor
  45.         END 
  46.  
  47.         COMMIT TRANSACTION
  48.         PRINT 'Successfully commited summaries'
  49.     END TRY
  50.     BEGIN CATCH
  51.         ROLLBACK TRANSACTION
  52.         PRINT 'Unable to commit summaries'
  53.         PRINT ERROR_MESSAGE() 
  54.         DECLARE 
  55.             @ErrorMessage    NVARCHAR(4000),
  56.             @ErrorNumber     INT,
  57.             @ErrorSeverity   INT,
  58.             @ErrorState      INT,
  59.             @ErrorLine       INT,
  60.             @ErrorProcedure  NVARCHAR(200);
  61.  
  62.         SELECT
  63.             @ErrorMessage = ERROR_MESSAGE(),
  64.             @ErrorNumber = ERROR_NUMBER(),
  65.             @ErrorSeverity = ERROR_SEVERITY(),
  66.             @ErrorState = ERROR_STATE(),
  67.             @ErrorLine = ERROR_LINE(),
  68.             @ErrorProcedure = ISNULL(ERROR_PROCEDURE(), '-');
  69.  
  70.         RAISERROR (@ErrorMessage, @ErrorSeverity, 1, @ErrorNumber, @ErrorSeverity, @ErrorState, @ErrorProcedure, @ErrorLine);
  71.     END CATCH
  72.  
  73. END
  74.