https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms


SQLSERVER 2008~2017까지 커버됩니다.


필요에따라 링크에 포함된 보안패치를 설치해야할 필요가 있습니다.

--------------- 1.  DB 분리하기

 

sp_detach_db DB명

 

-- 혹시 사용중이라고 나오면 로그인 사용자 kill
-- sp_who -- 로그인 사용자 확인
-- kill spid--로그인 사용자 쥑이기
-- 그리고 SMS DB같은 경우 문자보내기 서비스가 실행중이므로 서비스를 중지 시키고,
-- 로그인사용자 kill 시키고 분리

 

----------------- 1. 분리 끝

 

 

-----------------  2. DB 연결
-- 로그 파일이 있는 경우 sp_attach_db 사용
 sp_attach_db @dbname='DB명', @filename1='파일경로\ball.mdf', @filename2='파일경로\ball_log.ldf'

 

--데이터 파일만 있은 경우 sp_attach_single_file_db 사용
sp_attach_single_file_db @dbname='DB명', @physname='파일경로\baseball.mdf'

-----------------  2. DB 연결 끝


select 

case when (money - cashys) > 0 then '앞' 

when (money - cashys) = 0 then '중' 

else '뒤' 

end  as 'DIFF_CHK' ,money,cashys

from mem_Cashs

다른 서버의 동일한 조건의 테이블에 대량의 데이터를 옮겨야 할 때가 가끔 있다.

그때 BULK INSERT를 사용하면 한방에 슉~ 넣어줄 수 있다.

 

나는 다른 서버 DB의 데이터를 csv로 저장하여 가져왔다.

그냥 select 하고 나온 결과에 마우스 우클릭해서 다른이름저장 눌러서 csv 로 저장할 수 있다!

 

  1 use DB_name 
  2 BULK INSERT [table_name] 
  3 from 'C:\test.csv' 
  4 with ( 
  5     CODEPAGE = 'RAW', 
  6     FIRSTROW = 2, 
  7     MAXERRORS = 0, 
  8     FIELDTERMINATOR = ',', 
  9     ROWTERMINATOR = '\n', 
 10     tablock 
 11     ) 
 12     

 

csv 파일 위치 잘 지정해주시고

FirstRow = 2  는 첫번째 컬럼명 라인 짤라내기 위해 2번째 줄부터 입력하라 입니다.

FIELDTerminator = ','  필드 구분자는 콤마

ROWTerminator = '\n' 라인 구분자는 뉴라인

[출처] [MSSQL] BULK INSERT |작성자 종벌


해당 테이블에 존재하는 Identity 필드의 누적값을 알 수 있다.


SELECT IDENT_CURRENT('테이블명') 

타 서버간의 쿼리문을 사용하고 싶을때 이용한다.



EXEC sp_addlinkedserver 
@server='서버별칭',
@srvproduct = '',
@provider = 'SQLOLEDB',
@datasrc = 
'서버주소',@provstr='Provider=SQLOLEDB;Data Source=서버주소;Initial Catalog=데이터베이스명;User id=사용자명; Password=비밀번호;',
@catalog='데이터베이스명'
GO


EXEC sp_addlinkedsrvlogin '서버별칭', 'false', NULL, '사용자명', '비밀번호' 
GO


확인방법

SELECT * FROM [서버별칭].[데이터베이스명].[dbo].[sysfiles]
GO


+ Recent posts