안녕하세요 차주언입니다.


블로그 링크 http://blog.naver.com/narsas/140172881128

 

2부는 여기에 -  http://www.sqler.com/524757

 

결과부터 말하면 약 1분 내외로 빠르게 업로드 되고 있습니다제 로컬 PC 4코어라서 조금 아쉽지만...아쉬운데로..

 

이 걸 해보기 위해선

 

(중요하죠!!)시작하기전에 ENDPOINT 열어주고 방화벽도 열어줘야합니다.

 

ENDPOINT 열기 - http://www.sqler.com/524490

방화벽 열기 - http://www.sqler.com/524537

 

자 그럼 시작해보겠습니다.

 

우선 Azure SQL서버에 접속한 후 (윈도우 인증으로 로긴됩니다)

SQL 혼합인증으로 바꿔주고

 

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

USE [master]

GO

 

EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2

GO

 

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

 

SQL 접속용 계정을 만들어 줍니다.

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

USE [master]

GO

CREATE LOGIN [narsas] WITH PASSWORD=N'p@ssw0rd', DEFAULT_DATABASE=[master],CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF

GO

ALTER SERVER ROLE [sysadmin] ADD MEMBER [narsas]

GO

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

물론 SQL 재시작을 해줘야 합니다.

 

자 이제 로컬과 애져 양쪽의 SQL서버에 데이터를 만들어 보겠습니다.

 

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

-- 데이터 베이스 생성

create database mydb

go

 

alter database [mydb] set recovery simple with no_wait

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

 

 

자 이제 로컬!!!

편의상 똑 같은 32MB짜리 테이블 8개를 만들어 보았습니다. (8코어니까 훗훗)

 

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

-- 예제테이블생성및 데이터 입력하기

-- 송혁님껄 사용했습니다 http://www.sqler.com/128082

 

use mydb

go

 

set nocount on

 

-- 송혁님 예제 쿼리에서 요부분을 사용했습니다.

create table tbl91 (col1 int not null, col2 int ,col3 int,col4 int,col5 int,col6 int)

 

insert into tbl91

select top 100000

row_number() over(order by(select 1)),

row_number() over(order by(select 1)),

row_number() over(order by(select 1)),

row_number() over(order by(select 1)),

row_number() over(order by(select 1)),

row_number() over(order by(select 1))

from sys.sysindexes a,sys.sysindexes a1,sys.sysindexes a2,sys.sysindexes a3

 

exec sp_spaceused tbl91 --  3MB

 

-- 테스트를 위해 비슷한 테이블 8 각각 30메가 정도로 만들어 보겠습니다.

 

create table tbl01 (col1 int not null, col2 int ,col3 int,col4 int,col5 int,col6 int)

 

insert into tbl01

select top 1000000

row_number() over(order by(select 1)),

row_number() over(order by(select 1)),

row_number() over(order by(select 1)),

row_number() over(order by(select 1)),

row_number() over(order by(select 1)),

row_number() over(order by(select 1))

from sys.sysindexes a,sys.sysindexes a1,sys.sysindexes a2,sys.sysindexes a3

 

exec sp_spaceused tbl01 --  32MB

 

-- 비슷한 테이블을  만들어서 코어수에 맞게 8개로 짝을 맞추겠습니다.

select * into tbl02 from tbl01

select * into tbl03 from tbl01

select * into tbl04 from tbl01

select * into tbl05 from tbl01

select * into tbl06 from tbl01

select * into tbl07 from tbl01

select * into tbl08 from tbl01

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

 

 

자 데이터가 준비되었으니…마법사로 간편하게 데이터 이관 SSIS를 만들어 보겠습니다.

 





profile

차주언
MSSQL DBA ,  MCT/ MCDBA
SQL프런티어 / 펄어비스 DBA