Windows SQL Server 원격설정하여 접속방법 알아보기




    지난 포스팅에서 DB생성과 계정생성(새 로그인)추가하였습니다

    이번에는 지난포스팅에서 생성한 계정을 SSMS를 이용하여 외부접속하는 방법을 알아보도록 하겠습니다


    이전 글 :


    Windows SQL Server 2014 Express 설치 - http://server-talk.tistory.com/252


    Windows MSSQL Server DB 복원과 사용자 설정하기(매핑하기) - http://server-talk.tistory.com/128


    Windows MSSQL Server 유지관리계획을 이용한 DB백업 스케줄러 사용하기 - http://server-talk.tistory.com/130


    MSSQL 데이터베이스(DB) 생성과 새 로그인 사용자 추가 - http://server-talk.tistory.com/248




    SQL Server 원격설정 순서 :


    1. SQL Server 구성관리자 설정하기

     

    2. SQL Server 서버인증 모드 설정하기

     

    3. Windows Server 방화벽 설정하기

     

    4. SMSS 접속테스트




     SQL Server 구성관리자 설정하기


    첫번째로 SQL Server 구성관리자 설정하기를 진행하겠습니다




    SQL Server를 설치하시면 SQL Server 구성 관리자가 설치되며, SQL Server 구성관리자로 들어갑니다.





    SQL Server 구성 관리자로 들어가신 후 SQL Server 네트워크 구성 -> SQLEXPRESS에 대한 프로토콜로 들어가시면 우측의 TCP/IP 항목을 더블클릭합니다




    TCP/IP 속성으로 들어가시면 프로토콜 사용 IPALL 에서 포트 1433으로 지정합니다



    SQL 구성관리자 - TCP/IP 설정


    프로토콜 - 사용 : 예

    IP 주소 - IPALL - TCP 포트 : 1433




    변경된 정보를 반영하기 위해 SQL Server 서비스 -> 우측의 SQL Server (SQLEXPRESS) [우클릭]하여 다시시작 하시면 됩니다







     SQL Server 설정하기



    두번째로 SQL Server 인증모드 설정을 진행하겠습니다



    SQL Server Managemet로 들어간후 SQL Server 속성으로 들어갑니다




    SQL Server 속성으로 들어가신후 보안탭 -> [우측] 서버인증 - SQL Server 및 Windows 인증 모드를 체크후 확인 선택하시면 됩니다.






     Windows Server 방화벽 설정


    세번째로 방화벽 설정을 진행하겠습니다


    방화벽 설정시 고급 보안 포함된 Windows 방화벽 으로 들어갑니다


    방화벽 설정시 고급 보안 포함된 Windows 방화벽 접근방법


    첫번째 방법 :

    제어판 -> Windows 방화벽 -> 고급설정


    두번쨰 방법 :

    실행창 [윈도우키 + r] -> wf.msc




    고급 보안 포함된 Windows 방화벽 에서 좌측 [인바운드 규칙] - 우측 [새 규칙] 을 선택합니다




    규칙 종류에서 포트를 체크 후 다음으로 진행합니다





    프로토콜 및 포트에서 TCP - 특정 로컬 포트를 체크후 1433(MSSQL 기본포트)로 지정하시면 됩니다




    작업에서는 연결 허용 체크후 다음으로 진행하시면 되며, 이번포스팅에서는 프로필를 모두 선택후 진행하도록 하겠습니다




    방화벽 정책의 이름을 지정하는 부분입니다 알아보기 쉽게 지정하여야 다음에 수정시에 편리합니다





     SQL Server 외부 접속 테스트


    마지막으로 SSMS를 통한 외부에서 접속이 가능한지 테스트 해보겠습니다




    이전 포스팅에서 서버의 IP와 생성한 계정를 입력 접속을 하시면 됩니다




    위 내용을 보시면 접속이 잘되는것을 확인 하실수 있습니다

    Posted by Server-talk 서버이야기

    • 2019.12.10 14:08

      비밀댓글입니다

      • 방문해주셔서 감사합니다

        1. 서버이름과 IP는 서버컴퓨터의 아이피?
        네 맞습니다 서버의 IP 입니다

        2. 사용자 역할 자격
        사용자 역할 자격은 특정 데이터베이스에 생성한 사용자 계정에 권한을 부여하는 기능입니다
        포스팅에서는 public(최소권한), db_owner(데이터베이스의 모든권한) 이렇게 2개의 역할을 부여 했으며, MSSQL의 기본권한인 public은 최소권한(public를 지정하지 안해도 public 권한을 부여 받지만 개인적으로 public은 항상 지정합니다) 입니다
        그리고
        db_owner를 지정하여 해당 데이터 베이스의 모든권한을 부여하기 때문에 데이터베이스의 모든 권한을 가지게 합니다

        이 포스팅에서의 데이터베이스의 권한을 db_owner로 지정한 이유는 처음부터 모든 권한을 주고 권한을 축소하는것이 효율적으라고 생각해서 지정한 것입니다

        사용자 역할을 이용한 대표적인 기능으로는 서비스별로 권한을 부여하는것입니다

        예를들어 웹서비스(읽기만), 관리자(모든권한)를 권한을 지정한다는 가정하에 각각 2개의 계정을 생성하여 웹서비스에는 db_datareader권한을 관리자는 db_owner의 권한을 부여하여 보안적인 부분으로 활용할수 있습니다

        사용자 역할 자격에 대한 자세한 설명은 아래의 URL에서 확인 하시면 됩니다

        MSSQL 데이터베이스(DB) 생성과 새 로그인 사용자 추가 - https://server-talk.tistory.com/248

        감사합니다

    • S군
      2019.12.18 08:23

      iptables에 대한 글을 읽어봣는데요 Firewalld 에 대한 글도 올라오길 기대합니다 +_+!

    • 궁금한점
      2020.07.16 14:50

      서버이름에 IP주소 대신 도메인 주소를 입력해서 접속 가능한가요??
      예를들면 http://test.iptime.org, 1433
      이런식으로 가능한지 궁금합니다

      • 방문해 주셔서 감사합니다.

        도메인 레코드 IP가 DB서버의 IP라면 도메인 원격접속이 가능합니다

        감사합니다.