create table test(URL varchar(50))
insert test
select 'http://blog.rss.naver.com/pjh0001.xml' union all
select 'http://blog.rss.naver.com/pjh0002.xml' union all
select 'http://blog.rss.naver.com/pjh0003.xml' union all
select 'http://www.naver.com/image/images/pjh0004.xml'

------------------------------------
select reverse(parsename(left(reverse(URL),charindex('/',reverse(URL),1)-1),1)) URL from test
/*
URL
---------------
pjh0001
pjh0002
pjh0003
pjh0004

출처 : SQLER
Posted by leebaro
,

그래픽 실행 계획 표시

http://technet.microsoft.com/ko-kr/library/ms178071.aspx


실행 계획을 만드는 T-SQL

http://technet.microsoft.com/ko-kr/library/ms187886.aspx

웹캐스트: Microsoft SQL Server 2000: SQL Server 2000에서 실행 계획 읽기

http://support.microsoft.com/kb/815337/ko

Posted by leebaro
,
Posted by leebaro
,

오늘은 데이터를 A에서 B로 옮길 때 자동 증가값을 생성하는 방법을 살펴 보겠다.

A라는 테이블은 고객 테이블이다. 현재 주민등록번호가 기본키 값으로 잡혀있지만 새로운 데이터베이스로 옮길때는 주민번호를 기본 키값으로 사용할수 없게 되었다면 어떻게 해야하겠는가? 물론 Surrogate key(대체키)를 생성해야 한다.

그럼 데이터를 다 옮긴 다음에 키 값을 생성할 것인가? 아니다. SSMS 작업 중 데이터 내보내기 또는 데이터 가져오기 기능 내에서도 가능하다.

오늘은 이 기능을 살펴 보겠다.

우선 SSMS를 실행 한다. 하고 데이터를 옮길 대상 데이터베이스에서 마우스 오른쪽을 클릭하고 작업에서 데이터 가져오기를 선택한다.

전체 화면 1

 

데이터 원본을 선택한다.

image

 

데이터를 내 보낼 대상을 선택한다.

image 

 

우리는 하나 이상의 테이블 또는 뷰에서 데이터 복사를 선택한다.  쿼리에 자신 있거나 복잡한 쿼리를 만들어야 한다면 전송 데이터를 저장할 쿼리 작성을 선택해도 된다.

윈도우 5

원본 테이블에서 옮김 대상 테이블을 선택하고 매핑 편집 버튼을 클릭한다.

윈도우 6

 

열 매핑에서 원본 컬럼의 유형, 크기 등의 특성을 알맞게 조절하고 SQL 편집 버튼을 클릭한다.

윈도우 7

 

여기에서 우리는 지금까지 설정한 방식에 맞춰진 Create Table 쿼리문을 볼 수 있다. 그럼 쿼리의 Create Table 뒤에 자동 증가값 컬럼인 IDX를 추가한다.

윈도우 8

 

IDX를 추가하면 아래와 같다.

윈도우 9

두번째 줄을 보면 아래의 쿼리가 추가 되었다. 그리고 확인을 클릭한다.

[IDX] IDENTITY(1,1) PRIMARY KEY

즉시 실행을 체크하고 다음을 클릭한다.

윈도우 11

 

마침을 클릭하면 데이터가 옮겨지능 과정이 보이고, 해당 데이터베이스를 확인하면 자동 증가값이 추가된 테이블을 볼 수 있다.

윈도우 12

Posted by leebaro
,

테이블을 만들다 보면 똑같은 키 값이지만 입력된 날짜 순으로 데이터가 들어 갈 수 있다. 나중에 다른 테이블과 조인을 하려고 하는데 중복되는 최신 값 중에 최신 값을 기준으로 하고 싶다면 아래와 같은 쿼리를 사용하여 max와 Group by를 이용하면 된다.

select B.stitle,A.sdate,sflag from (select stitle,max(sdate) sdate from test01  group by
stitle) A  inner join
test02 B ON A.stitle = B.stitle

Posted by leebaro
,
MS SQL Server Management Studio에서 새쿼리 창을 실행 시키고

sp_attach_single_file_db @dbname= 'DB명', @physname= 'c:\경로\파일명.mdf'

위와 같은 방법으로 복구를 합니다.

만들 었는데 소유자가 없다고 나올 시 왼쪽 트리에서 해당 DB에서 속성을 들어가 보세요.
아래와 같이 소유자가 비어 있습니다. 거기에 해당 소유자를 선택하면 됩니다.


Posted by leebaro
,

아래의 쿼리문을 사용하면 스크립트나 스토어드 프로시저를 사용하여 메일을 보낼 수있습니다.

아래는 SQL2005를 사용 하였습니다.

USE AdventureWorks
GO

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'ProdDBEmail',
@recipients = 'msmith@abc.com;techsupport@abc.com',
@body = 'The night job has failed. Requires manual debug.',
@subject = 'Automated Job Failure Message' ;

GO

출처
SQLUSA

추가
SQL2000에는 xp_sendmail 라는 프로시저가 비슷한 역할을 하는 것 같습니다.
http://msdn2.microsoft.com/en-us/library/aa260697(SQL.80).aspx

Posted by leebaro
,

자바에서 AS2005의 데이터를 액세스 하려면 XMLA를 사용하면 됩니다.
XMLA란 (XML for Analysis) 다차원 데이터를 액세스 하기 위해 만들어진 SOAP 기반의 XML 프로토콜 입니다.

아래의 링크는 자바에서 AS2005에 XMLA를 사용하여 데이터를 사용할 수 있게 해주는 오픈 소스 툴입니다. 

1. JPivot http://jpivot.sourceforge.net/

2. REX http://sourceforge.net/projects/whex/

 
 
 
 
 
 

Posted by leebaro
,
Greg Galloway는 Analysis Services Stored Procedure Project를 통하여 아주 멋진 것을 만들어 냈습니다. 자세한 내용은 다음에 포스팅 하겠습니다.

그가 연구한 것 중 한 가지가 Irina Gorbach가 만든 백서 입니다. MDX문에서 VBA는 내부 MDX문으로 사용됩니다. 그로하여 성능을 향상시킵니다.

아래의 링크는 MSDN 포럼에서 관련 글 입니다.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1261427&SiteID=1
아래 링크는 백서 입니다.
http://www.e-tservice.com/Files/vba_functions_in_as2005.doc
 
Posted by leebaro
,

만약  UPDATE CUBE를 실행 하기전에 BEGIN TRAN 문장을 MDX문에서 실행한다면
COMMIT TRAN 문이 실행됩니다. 그리고 쓰기저장(Writeback) 변경사항들은 Cube에 반영됩니다.
선택적으로 ROLLBACK문을 실행 할 수 있습니다. 그럼면 UPDATE CUBE로 수정했던 모든 변경사항은 취소됩니다.

Posted by leebaro
,