반응형

STORY 444

MSSQL ANSI_NULLS

구문 SET ANSI_NULLS { ON | OFF } SET ANSI_NULLS 옵션이 ON인 경우, WHERE column_name = NULL을 사용하는 SELECT 문은 column_name에 Null 값이 있을 때도 0행을 반환합니다. WHERE column_name NULL을 사용하는 SELECT 문은 column_name에 Null이 아닌 값이 있을 때도 0행을 반환합니다. SET ANSI_NULLS 옵션이 OFF면 Equals(=)와 Not Equal() 비교 연산자가 ISO 표준을 따르지 않습니다. WHERE column_name =NULL을 사용하는 SELECT 문은 column_name에 Null 값이 있는 행을 반환합니다. WHERE column_name NULL을 사용하는 SELE..

WorkaHolic/MSSQL 2010.02.25

MSSQL MDF 복구

출처 : http://dorajistyle.pe.kr/technology.php/2006/11/17/db_mssql_2005_dbesmemnes 정상적으로 종료가 되었을때만 사용 이건 관리툴에서 단순 연결/해제 를 하는 것과 동일한 기능인듯 하다 로그와 데이터 모두 살아있을 때 복구법 : sp_attach_db ‘DB명’, ‘경로\파일명.mdf’ , ‘경로\파일명_log.ldf’ 2. 데이터 파일만 살아있을 때 복구법 : sp_attach_single_file_db ‘DB명’, ‘경로\파일명.mdf’ 3. 데이터 파일만 남기고 삭제하고 싶을때 : sp_detach_db ldf파일만 손상을 입고 mdf파일은 손상을 입지 않았을때 원래 DB와 동일 이름의 DB를 생성한다. (mdf 파일명과 크기도 같게..)..

WorkaHolic/MSSQL 2010.02.25

MSSQL SP(Stored Procedure - 저장 프로시저) 내 내용 검색하기

/********************************************************************************* SYSOBJECTS 데이터베이스에서 만들어진 각 개체(제약 조건, 기본값, 로그, 규칙, 저장 프로시저)당 한 개의 행을 포함합니다. **********************************************************************************/ SELECT * FROM SYSOBJECTS /* name : 개체 이름 id : 개체 ID xtype : F - FOREIGN KEY 제약조건 U - 사용자 테이블 TR - 트리거 PK - PRIMARTY KEY 제약조건 P - 저장 프로시저 FN - 스칼라 함수 V - 뷰 T..

WorkaHolic/MSSQL 2010.02.25

MSSQL 인스턴스 간에 로그인 및 암호 동기화

SQL Server 2005 인스턴스 간에 로그인 및 암호를 전송하는 방법: http://support.microsoft.com/kb/918992/ 의 문서 내용중 쿼리 스크립트에 관련된 것인데,. 특히 SQL 의 DB 이전이나 복원시에 요긴하게 쓸수 있는 스크립트 입니다. 어디에 있는줄은 알지만, 필요할때 곧장 찾을려니 찾는데도 시간 걸리네요.. -_-; 해당 쿼리의 핵심은 다음의 패스워드 관련 부분입니다. CREATE PROCEDURE sp_hexadecimal @binvalue varbinary(256), @hexvalue varchar (514) OUTPUT AS DECLARE @charvalue varchar (514) DECLARE @i int DECLARE @length int DECLARE..

WorkaHolic/MSSQL 2010.02.25

MSSQL 2005 암호화

SQL Server 2005의 암호화 계층은 아래와 같습니다. 이 그림을 보면 데이터라는 박스를 3곳에서 찾을 수 있습니다. 각 데이터 박스의 바로 윗 계층을 읽어보면 인증서, 대칭키, 비대칭키입니다. 즉, 데이터를 암호화하는데 사용되는 것에는 인증서, 대칭키 그리고 비대칭키가 있다... 라는 의미가 되겠죠. 실제로 SQL Server 2005에서 데이터를 암호화하는 함수로는 아래의 4가지 함수를 제공하고 있습니다. - EncryptByAsmKey() : 비대칭키를 사용하여 암호화 - EncryptByCert() : 인증서를 사용하여 암호화 - EncryptByKey() : 대칭키를 사용하여 암호화 - EncryptByPassPhrase() : 패스워드를 사용하여 암호화 마지막 EncryptByPassP..

WorkaHolic/MSSQL 2010.02.25

MSSQL 2005 암호화 지원

이전 버전(SQL Server 2000)에서는 데이터를 암호화(Encrypt) 하고 암호를 해독(Decrypt)하는데 있어서, 자체 개발이나 Third Party Vender의 솔루션을 이용해야 했습니다. 이런 문제점을 해결하기 위해 2005에서는 SQL Server 자체적으로 지원하고 있습니다. 1. EncryptByKey 또는 DecryptByKey - 대칭 키를 사용하여 데이터를 암호화 또는 복호화 합니다. 대칭 암호화 및 암호 해독은 비교적 속도가 빠르며 대량의 데이터 작업 시 적합합니다. 2. EncryptByAsymKey 또는 DecryptByAsymKey - 비대칭 키를 사용하여 데이터를 암호화 또는 복호화 합니다. 대칭 키로 암호화/복호화를 수행하는 것 보다 비용이 훨씬 많이 듭니다. 큰 ..

WorkaHolic/MSSQL 2010.02.25

MSSQL SELECT UPDATE

한쪽 테이블의 ID 필드에 NULL로 입력된 항목을 다른 테이블에서 찾아 업데이트 하는 Query update tb1 set tb1.id = tb2.User_ID from tableA tb1 left OUTER join tableB tb2 on tb1.pno = tb2.SSN WHERE tb1.id is null --------------------------------------------------------------------------------------- MS-Sql에서 Select문을 이용한 Update 쿼리 Table2 부분에 Select문을 넣어주면 된다. UPDATE Table1 SET Table1.column = Table2.column FROM Table1 tb1 inner joi..

WorkaHolic/MSSQL 2010.02.25

MSSQL 순위함수

MS SQL 서버 2005에서는 순위 관련한 다양한 함수를 제공하고 있습니다. 이번 강좌에서는 이 함수듫을 살펴보고자 하며 그 함수들은 다음과 같습니다. o RANK o DENS_RANK o ROW_NUMBER o NTILE 위 함수들을 이용하면 기존 2000 버전에서 복잡하게 구현해야 되는 부분을 단순한 로직으로 구현 할 수 있습니다. 우선 각 함수의 기능을 살펴보기 위해 사용될 간단한 테이블 하나를 Tempdb에 만들도록 하겠습니다. [소스1] USE Tempdb GO IF OBJECT_ID('Customer', 'U') IS NOT NULL DROP TABLE Customer GO CREATE TABLE Customer ( CustID int, Name varchar(10), Gender char(..

WorkaHolic/MSSQL 2010.02.25

MSSQL 제어문

1. if 문 T-SQL 문의 실행에 대한 조건을 설정. IF 키워드와 그 조건 뒤의 T-SQL 문은 조건이 만족되는 경우 (부울 식이 TRUE를 반환하는 경우)에만 실행된다. 선택적인 ELSE 키워드는 IF 조건이 만족되지 않는 경우(부울 식이 FALSE를 반환하는 경우)에 실행되는 대체 T-SQL 문을 사용. * 한개의 if ~ else 블럭 사용 USE dbsys IF (SELECT AVG(SAL) FROM EMP WHERE DEPTNO = 10) > (SELECT AVG(SAL) FROM EMP) BEGIN PRINT '10번부서의 연봉평균은 전체 평균보다는 높은 편이군요..!!' END -- BEGIN~END 반드시 써야한다. 없으면 한개의 T-SQL문에만 영향. ELSE PRINT '10번부서..

WorkaHolic/MSSQL 2010.02.25
반응형