ASP.NET Core MVC와 SQL Server 2008의 구성으로 작동하는 시스템을 클라이언트의 서버로 이동해야 할 일이 생겼습니다. KAGOYA CLOUD(카고야 클라우드) VPS(Virtual Private Server)의 Windows Server 2016 환경입니다.
Windows Server 2016의 IIS10에서 ASP.NET Core MVC가 작동하도록 설정은 문제가 없는데
2019/05/21 - [ASP.NET Core] - ASP.NET Core를 IIS에서 돌려보자! (Deploy,Publish)
SQL Server의 값이 만만하지 않습니다.
https://www.kagoya.jp/windows/price/
Windows Server 2016 2Core/2GB, HDD 50GB로 서버 자체의 한달 비용은 2,160엔인데, Microsoft SQL Server의 제일 싼 옵션이 한달 3,240엔입니다. 배보다 배꼽이 더 큽니다.
클라이언트의 사정을 알기에...무료버전인 SQL Server 2017 Express를 조사해봅니다.
https://www.microsoft.com/ja-jp/sql-server/sql-server-2017-editions
SQL Server 2017 Express의 대략의 기능입니다.
최대 코어수: 4코어
인스턴스별 최대 버퍼메모리: 1410MB
최대 데이터베이스 사이즈: 10GB
간단한 고객관리 시스템이므로 무리없이 운영가능하다는 판단에 SQL Server 2017 Express로 결정합니다.
설치는 기본옵션으로 간단히 설치 가능했습니다.
SQL Server 2017 Express 데이터베이스 엔진과
https://www.microsoft.com/ja-jp/sql-server/sql-server-editions-express
관리를 위해서 SQL Server Management Studio(SSMS)의 설치가 필요합니다.
DB와 로그인유저설정을 마치고 DB의 이동을 진행합니다.
백업, 복원방법 : SQL Server 2008의 백업파일을 복사후 SQL Server 2017 Express에서 복원을 시도했는데 인식할 수 없다는 에러로 처리가 불가능 합니다.
Export, Import : SQL Server 2017 Express에서는 메뉴 자체가 비활성화 되어있습니다.
결국 스크립트를 작성해서 이동하기로 합니다.
테이블과 데이터를 스크립트로 생성
SQL Server 2008 서버의 SQL Server Management Studio(SSMS)에서 이동할 DB선택
오른쪽클릭>>작업(タスク)>>스크립트생성(スクリプト生成) : 스크립트 생성 마법사 실행
스크립트 생성 마법사>>DB선택>>옵션(オプション)>>데이터의 스크립트 생성(データのスクリプトを生成)을 True로 변경 >> 테이블 체크 >> 테이블 선택 >> 클립보드로 복사
클립보드로 복사한 것을
SQL Server 2017 Express 서버의 SQL Server Management Studio(SSMS)에서 쿼리 실행
문제없이 이동가능했습니다.
ASP.NET Core MVC의 appsettings.json의 DB연결 구문을 변경합니다.
Server=IP (실패)
Server=localhost (실패)
Server=IP, PORT (실패)
Server=localhost, PORT (실패)
Server=.\\SQLEXPRESS (성공)
이동을 완료했습니다.