/************************************************************************************************
-- sp_filepageno0
-- BINARY의 first값에서 파일번호와 페이지번호를 DECIMAL로 출력한다.
************************************************************************************************/
USE MASTER
GO
IF OBJECT_ID('sp_filepageno0') IS NOT NULL
DROP PROCEDURE sp_filepageno0
GO
CREATE PROC sp_filepageno0
@first BINARY(6) = NULL
AS
SET NOCOUNT ON
DECLARE @msg VARCHAR(100)
DECLARE @file_id INT
DECLARE @page_id INT
IF (@first IS NULL)
BEGIN
SET @msg = '''@first'' parameter is null. You can get @first from Sysindexes Table...'
RAISERROR(@msg, 16, 1, @first)
RETURN(1)
END
SET @file_id = convert(varchar(5), (convert(int, substring(@first, 6, 1)) * power(2, 8))
+ (convert(int, substring(@first, 5, 1)))
)
SET @page_id = convert(varchar(11), (convert(int, substring(@first, 4, 1)) * power(2, 24))
+ (convert(int, substring(@first, 3, 1)) * power(2, 16))
+ (convert(int, substring(@first, 2, 1)) * power(2, 8))
+ (convert(int, substring(@first, 1, 1)))
)
SELECT @file_id "FILE_ID", @page_id "PAGE_ID"
RETURN(0) --sp_filepageno0
SET NOCOUNT OFF
GO
GRANT EXECUTE ON sp_filepageno0 TO PUBLIC
GO
'Programming > MSSQL' 카테고리의 다른 글
MSSQL 트리거 보기 (DBA 관리용 시스템 프로시저) (0) | 2018.04.09 |
---|---|
MSSQL 제약사항 보기 (DBA 관리용 시스템 프로시저) (0) | 2018.04.09 |
MSSQL 인덱스 정보 보기 (DBA 관리용 시스템 프로시저) (0) | 2018.04.09 |
MSSQL LOCK 정보 보기 (DBA 관리용 시스템 프로시저) (0) | 2018.04.09 |
MSSQL 파일그룹 정보 보기 (DBA 관리용 시스템 프로시저) (0) | 2018.04.09 |