SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: bjg
-- Create date: 2013-06-17
-- Edit date : 2013-06-28
-- Description: 분개전표작성(직원경비지출결의서)
--
-- EX) EXEC USP_ACCOUNTING 'testid','10'20130101,2,'25300','미지급금'
-- =============================================
ALTER PROCEDURE USP_ACCOUNTING (
@p1 NVARCHAR(10),
@p2 NVARCHAR(2),
@p3 DECIMAL(8,0),
@p4 DECIMAL(8,0),
@p5 NVARCHAR(8),
@p6 NVARCHAR(40)
) WITH ENCRYPTION
AS
WITH ENCRYPTION 으로 작성하게 되면 해당 프로시저는 암호화 되어 볼수가 없게 된다.
이때 중요 한 것은 해당 프로시저 원본 파일이 없으면 안됀다는 일이다.
테스트 단에서는 해당 ENCRYPTION 구문을 삭제 하여 작성 한 후 실제 고객사 SQL 서버 배포시에만 사용 하면 될 것으로 보인다.
다음은 VIEW 의 암호화
퍼왔음 원본[http://laigo.kr/498]
SQL Server 2008 환경에서 VIEW 생성 시, Encryption(암호화) 옵션을 사용할 경우 볼 수 있는 여러가지 상황들을 정리하였습니다.
GO
-- 암호화 된 뷰를 생성합니다.
CREATE VIEW INFO_LAIGO WITH ENCRYPTION
AS
SELECT * FROM MyTempTable
-- 일반 뷰를 생성합니다.
CREATE VIEW INFO_JOB
AS
SELECT * FROM MyTempTable
-- SSMS 개체 탐색기로 확인하면 아래와 같이 암호화 된 뷰에 자물쇠 아이콘을 볼 수 있습니다.
-- 뷰의 정의 내역을 확인합니다.
SP_HELPTEXT 'INFO_LAIGO'
개체 'INFO_LAIGO'의 텍스트가 암호화되었습니다.
-- 해당 view 의 정의된 내용을 확인해 보지만 encrypted 값이 1로 설정되어 있으며 내용이 보이지 않습니다.
select * from sys.syscomments where object_id('INFO_LAIGO') = id
-- 종속된 테이블 이름은 확인이 가능합니다.
sp_depends 'INFO_LAIGO'
현재 데이터베이스에서 지정한 개체가 다음 개체를 참조합니다.
name type updated selected column
----------------------------------------------------------------------
dbo.MyTempTable user table no yes 값필드
-- 혹시 SQL Server Profiler 를 통해서 쿼리를 확인해 보면?
SELECT * FROM INFO_LAIGO
- 결과는 'SELECT * FROM INFO_LAIGO'
-- ALTER VIEW 를 통해 수정할 수 있을까요?
ALTER VIEW INFO_LAIGO
AS
SELECT * FROM TEST
네, 정상적으로 명령이 완료되었습니다. 기존 정보는 모두 사라지고 새로운 쿼리로 업데이트 되었습니다.
Encrpytion 인자를 부여하지 않았으므로 암호화는 해제됩니다.
[참고자료]
CREATE VIEW (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms187956.aspx
sp_depends (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms189487.aspx
sp_helptext (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms176112.aspx
작성자 : Lai Go / 작성일자 : 2010.03.22
'데이터베이스 > MSSQL' 카테고리의 다른 글
CPU 부하 쿼리 찾아내기 (0) | 2013.11.20 |
---|---|
테이블 및 데이터베이스 정렬 변경 (0) | 2013.07.30 |
[mssql]저장프로시저 기본 (0) | 2013.06.27 |
MSSQL 테이블 레이아웃 출력 쿼리 (0) | 2013.05.31 |
데이터 정렬 변경 및 변경 자료 (0) | 2013.03.12 |