전체 글 87

sp_addlinkedserver

EXEC sp_addlinkedserver @server='MemDB', -- 앞으로 사용할 링크드 서버이름입니다. @srvproduct = '', -- 공백처리 합니다. @provider = 'SQLOLEDB', -- SQL 서버이면 그대로 씁니다. @datasrc = '111.111.111.111', -- 아이피 적어 줍니다. @provstr='', -- 공백처리 합니다. @catalog='Member' -- 특정 카다로그 즉 데이터 베이스 이름을 적습니다. GO EXEC sp_addlinkedsrvlogin 'MemDB', 'false', NULL, 'MemID', 'MemPW' -- 로그인을 만듭니다. -- MemDB 라는 서버에 MemID 라는 유저아이디로 MemPW 의 암호를 갖는 -- 유저를..

일or놀이/MS-SQL 2006.09.05

사용하지 않는 인덱스 찾기

/* 테이블별 인덱스에 대한 통계가 마지막으로 업데이트된 날짜 찾기 이종희 2003.10. 정원혁 2004.8. */ SELECT USER_NAME( OBJECTPROPERTY( i.id, 'OwnerID' ) ) AS Owner ,OBJECT_NAME( i.id ) AS [Table] , i.name AS [Index] ,CASE INDEXPROPERTY( i.id , i.name , 'IsClustered') WHEN 1 THEN 'Y' ELSE '' END AS IsClustered ,CASE INDEXPROPERTY( i.id , i.name , 'IsUnique' ) WHEN 1 THEN 'Y' ELSE '' END AS IsUnique ,STATS_DATE( i.id , i.indid ) AS..

일or놀이/MS-SQL 2006.09.05

적절한 인라인 뷰 사용으로 인한 성능향상 사례

* 요점. 적절히 인라인 뷰를 사용하여 본래의 집합을 최소화 한 후 조인을 합니다. 대부분의 SQL 튜닝은 적절한 집합을 먼저 만드는 데에서 시작합니다. * 사례 SQL. 튜닝 전 SQL SELECT /*+ index(c EXT00002_I1) */ B.SALE_EMP_NO EMP_NO, MAX(F.EMP_NM||'('||F.EMP_NO||')') EMP_NM, B.PAY_MAN_NO, MAX(E.CUST_NM||'('||D.PAY_MAN_NO||')') PAY_MAN, B.UNIBUS_Svc_CD, MAX(C.CODE_NM) CODE_NM FROM (SELECT * FROM TBSLO_ISVCDM WHERE svc_stat_cd = '01') B, (SELECT * FROM EXT00002 WHERE ..

일or놀이/MS-SQL 2006.09.05

SELECT 문장의 실행 결과를 PDF 파일로

SELECT 문장의 실행 결과를 PDF 파일로 저장하는 스크립트가 있습니다. 오래전에 나온 것인데, 여기서 한번 소개하고자 합니다. SELECT 문장의 실행 결과를 PDF 파일로 출력할 경우는 그리 많아 보이지는 않지만, 혹시나 리포팅 결과를 다운로드 받을때 쓰일 수 있을 것 같네요..가장먼저 해 주어야할 일은 PDF 파일로 저장할 쿼리를 담고 있을 테이블을 만드는 것입니다. 아래 쿼리를 실행하면 됩니다.CREATE TABLE psopdf (code NVARCHAR(80)) 그리고 아래 주소에서 SQL2PDF 저장 프로시저 코드를 다운로드 받아서 그대로 실행시켜 줍니다.http://www.sqlservercentral.com/columnists/mivica/sql2pdf.txt이제 준비는 완료되었고, p..

일or놀이/MS-SQL 2006.09.05

분할된 뷰를 만들기 위한 조건

SQL Server 2000의 Developer 및 Enterprise Edition에서만 분할된 뷰에서 INSERT, UPDATE 및 DELETE 작업을 할 수 있습니다. 분할된 뷰를 수정하려면 명령문이 다음 조건에 맞아야 합니다. 원본 구성원 테이블에 이러한 열에 대한 DEFAULT 제약 조건이 있거나 NULL을 허용해도 INSERT 문은 뷰의 모든 열에 대해 값을 제공해야 합니다. DEFAULT 정의를 갖는 구성원 테이블 열에 대해서 명령문은 DEFAULT 키워드를 명시적으로 사용할 수 없습니다. 분할 열에 삽입되는 값은 반드시 원본이 되는 제약 조건 중 적어도 하나를 만족시켜야 합니다. 그렇지 않은 경우에는 제약 조건을 위반하게 되어 INSERT 작업이 실패합니다. UPDATE 문은 열이 해당 구..

일or놀이/MS-SQL 2006.09.05

VIEW 사용 예제

WITH CHECK OPTION 사용 다음은 캘리포니아 주의 작가에 대해 데이터 수정을 허용하는 CAonly라는 뷰를 표시하는 예제입니다.USE pubs IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'CAonly') DROP VIEW CAonly GO CREATE VIEW CAonly AS SELECT au_lname, au_fname, city, state FROM authors WHERE state = 'CA' WITH CHECK OPTION GO 뷰에서 기본 제공 함수 사용다음은 기본 제공 함수를 포함하는 뷰 정의를 보여 주는 예제입니다. 함수를 사용할 때 파생된 열은 반드시 CREATE VIEW 문 내의..

일or놀이/MS-SQL 2006.09.05

무서운 스팸...

Google APP로 개인도메인을 활용해서 메일호스팅 및 홈페이지를 만들수 있기에 어제 Google APP에 메일 호스팅 셋팅을 했어. 간단히 DNS에서 MX레코드만 구글로 연결해주니 3시간만에 사용이 가능해지더라고. CNAME을 이용한 2차도메인 홈페이지 연결은 뭐 거의 바로 연결되버리고. 암튼, 셋팅한 메일주소가 오래전에 만들어 놔서 그런건지, 거의 안쓰다가 어제 셋팅을 했는데! 하루만에 스팸이 186개! 시간당 8개~10개 씩 오고 있는거지.-_- 스팸함 열었다가 메일 목록 보고 징그러워서;; 그나마 스팸저장함이 따로 있으니 망정이지. 다른 아이디를 셋팅해서 써야겠어...신고해도 너무 많아 대책도 없는듯하고 이젠 다들 그냥 그러려니 하고 사는거 같아. 허, 이글 쓰는중에도 계속 스팸이 들어오네.. ..

구체적이고 현실적인 재정 목표 세우기

하루에 1달러로 금전적 자유를 얻는다 글을 읽고 정해봤어. 구체적이고 현실적인 재정 목표 세우기 먼저, 돈 씨앗을 놓고 다음 다섯 가지를 결정해야 한다. ① 목표 : 모으고자 하는 총액은 얼마인가? - 많을수록 좋겠지만, 50억 ② 액수 : 하루에 얼마나 아껴서 저축할 수 있는가? - 술값만 절약해도, 한달에 30~40만원은 세이브 가능. - 대중교통 이용하면, 한달에 20~30만원은 세이브 가능. - 담배! 담배 끊으면 한달 4~5만원 세이브 가능 이정도만 해도, 한달 미니멈 55만원, 맥시멈 75만원 세이브 가능. 대략 한달 평균 65만원 세이브 가능. 하루씩 따지면, 21,666원 절약 가능하다는 소린데.. ③ 이율 : 투자 금액에 대하여 몇 퍼센트의 이율을 확보할 수 있는가? - 제3금융권 이용시..