SQL: try … catch rollback

DECLARE @ErrorMessage NVARCHAR(4000)
    ,@ErrorSeverity INT
    ,@ErrorState INT

BEGIN TRY
    BEGIN TRAN

    -- INSERT
    -- UPDATE
    -- DELETE

    COMMIT TRAN
END TRY

BEGIN CATCH
    IF (@@TRANCOUNT > 0)
    BEGIN
        ROLLBACK TRAN
    END

    SELECT @ErrorMessage = ERROR_MESSAGE()
        ,@ErrorSeverity = ERROR_SEVERITY()
        ,@ErrorState = ERROR_STATE()

    -- Use RAISERROR inside the CATCH block to return error
    -- information about the original error that caused
    -- execution to jump to the CATCH block.
    RAISERROR (
            @ErrorMessage
            ,@ErrorSeverity
            ,@ErrorState
            )
END CATCH

Como listar tabelas e Stored Procedures não utilizadas

Tabelas

USE banco
GO

SELECT t.[name] AS 'Table'
    ,SUM(i.user_seeks + i.user_scans + i.user_lookups) AS 'Total accesses'
    ,SUM(i.user_seeks) AS 'Seeks'
    ,SUM(i.user_scans) AS 'Scans'
    ,SUM(i.user_lookups) AS 'Lookups'
FROM sys.dm_db_index_usage_stats i
RIGHT JOIN sys.tables t
    ON (t.object_id = i.object_id)
GROUP BY i.object_id
    ,t.[name]
ORDER BY [Total accesses]

Stored Procedures

Note que a view dm_exec_procedure_stats retorna somente as procedures que estão em cache. Portanto, procedures que foram executadas recentemente mas saíram do cache podem aparecer como não executadas. Indico analisar várias vezes antes de apagar.

USE banco
GO

SELECT sc.[name]
    ,p.[name]
    ,st.last_execution_time
FROM sys.procedures AS p
JOIN sys.schemas AS sc
    ON p.[schema_id] = sc.[schema_id]
LEFT JOIN sys.dm_exec_procedure_stats AS st
    ON p.[object_id] = st.[object_id]
ORDER BY st.last_execution_time
    ,p.[name]

http://stackoverflow.com/questions/290773/identifying-unused-objects-in-microsoft-sql-server-2005
http://stackoverflow.com/questions/10421439/tsql-query-to-find-un-used-stored-procedures

JSON Viewer

Achei um plugin do Notepad++ chamado JSON Viewer. Ele monta uma árvore de navegação que facilita a visualização do JSON.

Para instalar basta navegar para Plugins, Plugins Manager, Show Plugin Manager, selecionar o JSON Viewer e clicar em Install.

Após instalar, basta selecionar o JSON e clicar em Plugins, JSON Viewer e Show JSON Viewer.

Recomendo estes outros plugins também: “Poor Man’s T-Sql Formatter”, “TextFX Characters” e “XML Tools”.

Abraço