MS SQL Express 는 무료로 사용할 수 있는 Database 입니다.

10GB 의 용량 제한이 있지만 작은 규모의 업무시스템, 웹서버 등에 사용할 수 있습니다.

 

Microsoft Sql Express 다운로드

https://www.microsoft.com/ko-kr/sql-server/sql-server-editions-express

 

SQL Express는 무료 버전이다 보니 상용버전에서 제공하는 기능중 일부가 빠져 있습니다.

그중에서 자동 백업 기능을 지원하지 않기 때문에 백업은 수동으로 받아야 합니다.

 

sqlcmd 의 백업 명령어와 작업스케쥴러를 이용해서 자동으로 백업이 가능하도록 설정 할 수 있습니다.

 

백업 실행을 위한 SQL 파일 생성

backup.sql 이라는 파일을 생성하고 다음과 같이 내용을 작성한 후 저장합니다.

/*날자별 백업*/
declare @dir nvarchar(100)
set @dir=N'D:\backup\database\DB-'+convert(nvarchar(20), getDate(), 112) +N'.bak'
BACKUP DATABASE dzicube TO DISK = @dir
GO

날자별로 백업 파일을 생성 하는 쿼리 입니다.

@dir 변수를 선언하고 변수에 백업 파일의 생성 경로와 파일명을 입력해 줍니다.

파일명 은 DB-20190708.bak(DB-<백업일자>) 형식으로 저장됩니다.

 

convert 형식 뒤의 112 는 날자를 yyyymmdd 형식으로 표시하라는 의미 입니다.

SQL Convert 의 Data Time  형식은 아래 링크를 참조하시면 됩니다.

https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017

 

 

Windows 관리도우의 작업 스케쥴러를 실행합니다.

 

오른쪽의 기본작업 만들기를 클릭합니다.

 

작업의 이름을 입력합니다.

 

실행 주기를 설정합니다. 매일, 매주, 매월, 한 번 등으로 설정 할 수 있습니다.

 

작업을 실행할 시간을 설정 합니다.

작업의 동작은 프로그램 시작을 선택합니다.

 

프로그램 시작 설정부분에서 실제로 실행될 명령어를 설정 해야 합니다.

프로그램/스크립트 부분에 "sqlcmd" 를 입력하시고

인수 추가(옵션) 부분에 "-S localhost -E -i D:\mssql_bak\script\backup.sql" 를 입력해 주시면 됩니다.

< D:\mssql_bak\script\backup.sql 부분은 본인의 스크립트 파일 저장 경로로 설정해야 합니다. >

 

해당 스케쥴을 실행하시면 명령프롬프트 창에서 백업 명령어가 실행되며 지정된 파일 위치에 백업된 파일을 저장합니다.

 

 

 

 

 

무료 DB쿼리 툴을 찾던 중  DBeaver라는 게 있어서 사용해 보았다. 

​DBeaver는 무료로 사용할수 있는 community 버전과 유료인 Enterprise버전이 있다. 


DBeaver( https://dbeaver.io/ ) 사이트에서 다운 받아 설치 할 수 잇다. 

한글을 지원하므로 설치 과정에 어려움은 없었다. 


설치를 완료하고 DBeaver를 실행하면 DB에 연결 정보를 설정하는 화면이 나온다. 

사용할 DB 정보와 계정을 입력해주면 된다. 

계정설정을 완료 하고 해당 DB에 연결하면

DB종류에 받는 드라이버가 없을 경우 자동으로 설치를 진행할 수 있다. 


MySql연결이 안되서 MariaDB로 설정해서 연결이 되었다.
Mysql Server가 옛날 버전이라서 드라이버가 지원이 안되는것 같다. 


여러 쿼리를 원하는 쿼리만 지정해서 실행 할 수 도 있으며 

쿼리에서 출력된 값을 다른 파일로 저장 할 수 있다. 

다른 파일로 보내기할 경우 한글 파일이 깨질 수 있으니 주의가 필요하다. 


 

 


1. 쿼리분석기 실행 합니다.

 


2. 쿼리분석기 실행후 아래와 같이 입력하시면 됩니다.
---------------------------------------------------------

1. data.mdf , data_log.ldf 파일이 c:\Data 디렉토리에 있다고 가정합니다.

 

2. 아래의 문장을 쿼리분석기에서 실행시킨다.

 

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

use master

EXEC sp_attach_db @dbname = N'data', 
@filename1 = N'c:\Data\data.mdf',
@filename2 = N'c:\data\data_log.ldf'
----------------------------------------------------------

3. 오류 없이 쿼리가 성공되면 됩니다.

 

* 상위버전에서 만들어진 MDF, LDF파일의 경우 하위버전에

  연결할 수 없어 오류가 발생합니다.

    사용하던 버전보다 같은 버전 또는 상위 버전을 설치하시기 바랍니다.

 

[MSSQL] insert .............. select

다른 테이블에 있는 데이터를 이동하고자 할때
insert into 구분을 사용하면 하나씩 입력 해야 한다...
몇개 안된다면 모를까 데이타가 많다면 ..... ㅠ.ㅠ

이럴 경우에는 Insert .... Select 문을 이용하면 원하는 데이터를 한번에 옮길수 있다.
Select 문 이용하므로 원하는 모양으로 데이터를 이동시킬 수 있다.

예) Insert Table2 Select column1, column2...... From Table1
-> Table 1에서 원하는 데이터를 table 2 로 복사한다.

+ Recent posts