'▼ 게임개발 ▼/게임개발 - 서버+DB'에 해당되는 글 5건

  1. 2013.01.02 프로시저 for/while/cursor
  2. 2013.01.02 다른 DB 에서 특정 데이터 가져오기
  3. 2013.01.02 ODBC 연결
  4. 2012.12.27 MSSQL server 2008 - 스케줄러(자동화)
  5. 2012.12.27 DB 튜닝이란?

DECLARE @cnt int

DECLARE @i int

 

SELECT @cnt = COUNT(*)

FROM TEST

 

SET @i = 0

 

WHILE(@i < @cnt)

BEGIN

 

 SET @i = @i + 1

END

 

혹은 SELECT 의 결과를 사용하기 위해서는 커서를 사용해야 합니다

 

DECLARE cur CURSOR FOR

SELECT id,name

FROM TEST


OPEN cur

 

DECLARE @id int

DECLARE @name varchar(50)


FETCH NEXT FROM cur INTO @id, @name

 

WHILE(@@FETCH_STATUS = 0)

BEGIN

 SELECT @id, @name

 FETCH NEXT FROM cur INTO @id, @name

END

 

CLOSE cur

DEALLOCATE cur

'▼ 게임개발 ▼ > 게임개발 - 서버+DB' 카테고리의 다른 글

다른 DB 에서 특정 데이터 가져오기  (0) 2013.01.02
ODBC 연결  (0) 2013.01.02
MSSQL server 2008 - 스케줄러(자동화)  (0) 2012.12.27
DB 튜닝이란?  (0) 2012.12.27
Posted by 타이슨킴

디비 작업을 하다보면, 다른 디비의 특정 데이터만 가져올 경우가 생긴다.

그때 유용한 기능이 디비간 연결이다.

 

 

연결 방법 - 첫번째

 

1. 'SQL Server Management Studio' 에서 연결할 서버로 접속한다.

 

2. 서버 개체 > 연결된 서버 > 오른쪽 마우스 > '새 연결된 서버' 메뉴를 선택한다.

 

3-1. 일반탭 : '연결된 서버' 에서 접속할 서버의 IP 또는 도메인을 적고 '서버유형' 에서

SQL Server를 선택한다.

 

3-2. 일반탭 : '연결된서버' 에서 별칭을 적어준다. 예를들어 'TestServer' 정도. 그리고

기타 데이터 원본을 선택 후 공급자를 'SQL Native Client', 데이터 원본을 서버의 IP 또는

도메인을 적어준다. 3-1 보다는 이 방법을 추천.

 

4. 보안탭 : '다음 보안 컨텍스트를 사용하여 연결' 을 선택한 후, 계정을 적어준다. 

 

5. 서버 옵션 : 권한을 어느 정도까지 허용할지 설정해 준다.

 

 

연결 방법 - 두번째

 

1. 쿼리 분석기를 연다.

 

2. 'sp_addlinkedserver' 로 서버를 추가한다.

 

Exec sp_addlinkedserver  
    @server = 'TestServer',     -- 추가할 링크드 서버이름
    @srvproduct = '',     -- 공백처리 (OLEDB 데이터 원본의 제품 이름)

    @provider = 'SQLOLEDB',     -- 공급자, MSSQL 

    @datasrc = '111.222.33.44',     -- 디비 경로

    @provstr='',     -- 공백처리 (연결할 특정 인스턴스의 이름)
    @catalog=''     -- 공백처리, 특정 디비를 쓰고 싶으면 적어준다.

Go

 

3. 'sp_addlinkedsrvlogin' 로 추가된 링크드 서버에 접속한다.

 

-- Exec sp_addlinkedsrvlogin '링크드서버명', 'False', Null, '아이디', '비밀번호'

Exec sp_addlinkedsrvlogin 'TestServer', 'False', Null, 'test', 'test4321' 

 

이렇게 하면 첫번째와 똑같은 설정을 할 수 있다. 좀 더 자세한 설명은 SQL 도움말을 참고.

 

 

사용 방법

 

불러오는 형식은 '디비서버명.디비명.테이블명' 이다.

예를 들면 이런 식이다.

 

- Select * From [111.222.33.44].Test.dbo.T_Test

- Select * From TestServer.Test.dbo.T_Test

[출처] [MSSQL] 디비간 연결|작성자 셰프

'▼ 게임개발 ▼ > 게임개발 - 서버+DB' 카테고리의 다른 글

프로시저 for/while/cursor  (0) 2013.01.02
ODBC 연결  (0) 2013.01.02
MSSQL server 2008 - 스케줄러(자동화)  (0) 2012.12.27
DB 튜닝이란?  (0) 2012.12.27
Posted by 타이슨킴

ODBC 연결하는 경우는 다음방법을 사용합니다.

 

Set db=Server.CreateObject("ADODB.Connection")
db.Open "DB명", "계정", "패스워드"

 

 

OLD DB 연결하는 경우에는 다음방법을 사용합니다.

 

Const DBString = "Provider=SQLOLEDB.1;Password=패스워드;Persist Security Info=True;User ID=계정;Initial Catalog=DB명;Network Address=localhost"      //여기서 localhost인부분이 만약 mssql이 사용자명으로 되어있으면 사용자명으로해야접속이됨

Set db=Server.CreateObject("ADODB.Connection")
db.Open DBString

Posted by 타이슨킴

MSSQL server 2008 - 스케줄러(자동화)


MSSQL server 에이전트

└작업 (우클릭 새작업)

     └작업명 (우클릭 속성)


----------------------------------------------

[일반]

이름                    작업명

소유자(DB계정)    계정경로

범주                    



[단계]

ㅇ새로만들기

ㅇ삽입

ㅇ편집

ㅇ삭제


단계이름  : 사용하려는 프로시저와 목적의 중간 느낌

유형        : Transact-SQL 스크립트(T-SQL)

다음계정으로 실행 : 빈칸

데이터베이스 : 프로시저가 있는 DB명(팝업리스트)

명령 : exec update_week_to_day (프로시저 명)



[일정]

ㅇ새로만들기

ㅇ선택

ㅇ편집

ㅇ제거


이름 : week_to_day

일정유형 : 되풀이    [v]사용

되풀이 : 주별

매 : 1회 (팝업리스트)


일별빈도 : (특정 시간)

시작시간 : (특정 일 이후)


----------------------------------------------



■프로시저■ 리스트중 다음작업 반복-> [ dbo.update_week_to_day ]


USE [NewChic]

GO

/****** Object:  StoredProcedure [dbo].[update_week_to_day]    Script Date: 12/27/2012 18:20:25 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[update_week_to_day]

AS

DELETE FROM score_day

insert into score_day select iden, score, reg_date, rank from score_week



'▼ 게임개발 ▼ > 게임개발 - 서버+DB' 카테고리의 다른 글

프로시저 for/while/cursor  (0) 2013.01.02
다른 DB 에서 특정 데이터 가져오기  (0) 2013.01.02
ODBC 연결  (0) 2013.01.02
DB 튜닝이란?  (0) 2012.12.27
Posted by 타이슨킴

DB 튜닝이란?


튜닝은 효율적인 SQL을 만들어 SQL문의 결과가 빠르게 나오도록 하는 것을 말합니다.

(테이블 구조 변경, 인덱스 변경 등등)

Posted by 타이슨킴