Validate all stored procedure and Views in entire SQL Server Database


19/01/2021- duocnt    954 Views    

MỤC ĐÍCH.

- Kiểm tra tất cả các Stored Procedure và View trong 1 database và hiển thị ra thông báo lỗi nếu Stored hoặc View nào bị lỗi.
- Việc này sẽ rất có ích khi bạn muốn export database ra file .bacpac để upload database Azure Portal.


KẾT QUẢ

T-SQL

DECLARE @obj_name AS sysname, @obj_type AS sysname
 
declare @tResult table 
( 
       obj_type nvarchar(100), 
       obj_name nvarchar(100), 
       error nvarchar(Max)
) 
 
 
DECLARE obj_cursor CURSOR FOR
    SELECT SCHEMA_NAME(o.schema_id) + '.' + o.name, o.type_desc
    FROM sys.objects o
    INNER JOIN sys.sql_modules m ON o.object_id = m.object_id
    WHERE o.is_ms_shipped = 0 AND m.is_schema_bound = 0
    ORDER BY o.type_desc, SCHEMA_NAME(o.schema_id), o.name
 
OPEN obj_cursor
FETCH NEXT FROM obj_cursor INTO @obj_name, @obj_type
 
WHILE (@@FETCH_STATUS <> -1)
BEGIN
    BEGIN TRY
        EXEC sp_refreshsqlmodule @obj_name
    END TRY
    BEGIN CATCH
             insert into @tResult (obj_type,obj_name,error)
             select @obj_type,@obj_name,ERROR_MESSAGE()
    END CATCH
    FETCH NEXT FROM obj_cursor INTO @obj_name, @obj_type
END
 
CLOSE obj_cursor
DEALLOCATE obj_cursor 
select * from @tResult



Góp ý kiến

;
;