본문 바로가기

Database

Encrypt specific Table.column 주민등록번호의 저장을 지양하고 있고, 저장을 하더라도 암호화 하도록 권고하고 있습니다. 그럼에도 불구하고 legacy system에서 주민등록번호가 반드시 필요한 경우가 있기 때문에... 주민등록번호를 저장해야 하는 경우가 많습니다... (어쩌라고...) 그 외에도 민감한 정보를 감추기 위해서 Db에 값을 저장할 때, 암호화 하여 저장해야 할 필요가 있습니다. Db자체적으로 암호화를 하거나, Code에서 할 수 있는데, Db에서 처리함으로써 취할 수 있는 장점은 다음과 같습니다. 1. batch 처리 시에 business logic을 경유할 필요가 없음. (DB2DB 작업의 단순화) 2. 복수의 Application에서 암호/복호화 로직을 적용할 필요가 없음. 다만, ARIA, SEED 알고리즘의 적용은.. 더보기
TDE (Transparent Data Encryption) Database의 보안을 위한 첫 단계. TDE는 물리적인 미디어를 도난 당한 경우를 대비하기 위한 설정입니다. TDE는 그 말 그대로 투명한 암호화이므로, 설정 이후로는 특별한 작업을 할 필요가 없습니다.등록 및 조회 등을 위한 쿼리에 변경 사항이 없습니다. 즉, 개발자들은 신경쓰지 않고 개발할 수 있습니다. :) 적용방법 1. Master key 생성 // @master DB 2. Certificate 생성 // using master key 3. Database encryption key 생성 4. Turn on TDE Db의 properties > Options > State > Encryption Enabled: True SQL 괄호로 묶은 부분을 치환하여 실행하면 됩니다. USE master .. 더보기
Unique index setting Email must be unique 중복되는 email을 등록하려는 경우 다음의 exception이 발생합니다. 고유인덱스가'uq_user_email'인개체'dbo.TB_User'에중복키행을삽입할수없습니다. Sql script CREATE UNIQUE NONCLUSTERED INDEX [uq_user_email] ON [dbo].[TB_User] ( [Email] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMAR.. 더보기
How to find DB Size Storage 의 사이즈를 확인하기 위해서 아래의 Query 를 사용합니다. USE DBName GO SELECT [size] * 8 , [filename] FROM sysfiles sysfiles 라는 view 는 기본적으로 system 에서 제공하는 것으로써 storage 에 대한 정보를 갖고 있습니다. 이 중 size 컬럼은 그 크기를 8 KB 페이지 단위로 나타내고 있기 때문에, 실제의 용량을 확인하기 위해서는 8 을 곱하면 됩니다. 출처: http://stackoverflow.com/questions/176379/determine-sql-server-database-size 더보기
SQL Server DateTime Formatting SQL Server DateTime FormattingUsually the formatting of a DateTime value into a more readable date and time is dealt with by the client application. However, there are some situations were it is useful to convert a DateTime into a formatted character string within a SQL statement. Converting a DateTime to a VarCharThe Transact-SQL (T-SQL) Convert command can be used to convert data between diffe.. 더보기