MSSQL Connect to Python (ver. 2025.04)

Page content

개요

  • SSMS에 계정 추가
  • 계정 추가 후 Python 라이브러리 활용해서 연동

계정 추가

  • 먼저 Security(보안) > Logins(로그인)에서 마우스 우클릭 진행
    • New Login 선택

image.png

  • 다음 화면에서 Loing Name은 evan-tester2 명명, Password는 1234로 지정함
    • Default Database는 BikeStores로 지정함
    • Enforce password policy 체크 박스 해제 (테스트용)

image.png

  • 왼쪽 메뉴에서 User Mapping 메뉴 선택
    • 하단 옵션에서 db_datawriter 옵션 선택

image.png

  • 왼쪽 메뉴에서 Server Roles 선택
    • dbcreator, public, sysadmin 선택
  • 선택이 완료되었다면 OK 버튼 클릭

image.png

  • 사용자 계정이 하나 생성된 것 확인 가능

image.png

데이터베이스 수준 역할

서버 인증 방식 변경

  • 서버에서 마우스 우클릭

image.png

  • Security 선택 후, SQL Server and Windows Authentication Mode 선택
  • 확인 후 SSMS 종료 후 재실행

image.png

SQL Server Configuration Manager 구성

  • 아래와 같이 접속

image.png

TCP/IP 사용

  • SQL Server 네트워크 구성 선택
    • SQLEXPRESS에 대한 프로토콜 선택 후, TCP/IP 사용 변경

image.png

image.png

IP 주소, 포트 번호 지정

  • IPALL의 TCP 포트번호를 1433으로 지정한다.

image.png

  • 다시 시작

image.png

evan-tester2로 접속

  • SSMS 새로 시작 후, 아래 화면과 같이 접속 시도

image.png

image.png

Python과 MS-SQL 연결

pymssql 설치

$ pip install pymssql

image.png

image.png

  • 관리자 권한으로 실행

image.png

  • C++ 관련된 것만 체크 후 설치

image.png

  • 설치가 완료되면 재부팅을 실시한다.

image.png

Sample 코드 작성

  • 다음과 같이 코드를 작성한다.
import pymssql

conn = pymssql.connect(
    server='127.0.0.1',
    port=1433,
    user='evan-tester2',
    password='1234',
    database='BikeStores',
    as_dict=True
)  

SQL_QUERY = """
SELECT * FROM production.brands;
"""

cursor = conn.cursor()
cursor.execute(SQL_QUERY)

records = cursor.fetchall()
for r in records:
    print(f"{r['brand_id']}\t{r['brand_name']}")
  • 파일을 실행한다. (파일명 : python_conn_mssql.py)

image.png

  • 같은 코드를 SSMS에서 실행한 결과다.

image.png