적용 대상:Azure SQL 데이터베이스
Azure SQL Managed Instance
Azure Synapse Analytics
이 빠른 시작에서는 Python을 사용하여 Azure SQL Database, Azure SQL Managed Instance 또는 Synapse SQL 데이터베이스에 연결하고 T-SQL 문을 사용하여 데이터를 쿼리합니다.
mssql-python 설명서 | mssql-python 소스 코드 | 패키지(PyPi)
필수 구성 요소
이 빠른 시작을 완료하려면 다음이 필요합니다.
활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
데이터베이스
다음 빠른 시작 중 하나를 사용하여 데이터베이스를 만들고 구성할 수 있습니다.
행동 SQL 데이터베이스 SQL 관리형 인스턴스 Azure VM의 SQL Server Azure Synapse Analytics 생성 포털 포털 포털 포털 CLI CLI PowerShell PowerShell PowerShell PowerShell 배포 템플릿 배포 템플릿 배포 템플릿 배포 템플릿 설정 서버 수준 IP 방화벽 규칙 VM에서 연결 연결 설정 온-프레미스에서 연결 SQL Server 인스턴스에 연결 연결 정보 가져오기 Azure SQL Azure SQL SQL VM Synapse SQL Python 3
Python이 아직 없는 경우 python.orgPython 런타임 및 PyPI(Python 패키지 인덱스) 패키지 관리자를 설치합니다.
사용자 고유의 환경을 사용하지 않으시겠습니까? GitHub Codespaces를 사용하여 devcontainer로 엽니다.
SQL Server, Azure SQL Database 또는 Fabric
AdventureWorks2025의 SQL 데이터베이스에 있는 데이터베이스로, 샘플 스키마와 유효한 연결 문자열이 포함되어 있습니다.
설치
다음 단계에 따라 Python 드라이버를 사용하여 mssql-python 애플리케이션을 개발하도록 개발 환경을 구성합니다.
비고
이 드라이버는 SQL Server, Fabric의 SQL 데이터베이스 및 Azure SQL Database에서 기본적으로 사용하도록 설정되는 TDS(테이블 형식 데이터 스트림) 프로토콜을 사용합니다. 추가 구성이 필요하지 않습니다.
mssql-python 패키지 설치
mssql-python
PyPI에서 패키지를 가져옵니다.
빈 디렉터리에서 명령 프롬프트를 엽니다.
mssql-python패키지를 설치합니다.
python-dotenv 패키지 설치
python-dotenv PyPI에서 가져옵니다.
동일한 디렉터리에 패키지를 설치합니다
python-dotenv.pip install python-dotenv
설치된 패키지를 확인합니다
PyPI 명령줄 도구를 사용하여 원하는 패키지가 설치되어 있는지 확인할 수 있습니다.
을 사용하여 설치된 패키지 목록을 확인합니다.
pip listpip list
새 파일 만들기
현재 디렉터리에서 새 파일을 만듭니다
.env.파일 내에서
.env파일에 연결 문자열 이름이SQL_CONNECTION_STRING인 항목을 추가합니다. 여기서 예제를 실제 연결 문자열 값으로 바꿉다.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"팁 (조언)
여기서 사용되는 연결 문자열은 연결하려는 SQL 데이터베이스의 유형에 따라 크게 달라집니다. Azure SQL Database 또는 Fabric의 SQL 데이터베이스에 연결하는 경우 연결 문자열 탭에서 ODBC 연결 문자열을 사용합니다. 시나리오에 따라 인증 유형을 조정해야 할 수도 있습니다. 연결 문자열 및 해당 구문에 대한 자세한 내용은 DSN 및 연결 문자열 키워드 및 특성을 참조하세요.
텍스트 편집기에서 sqltest.py라는 새 파일을 만듭니다.
다음 코드를 추가합니다.
from os import getenv from dotenv import load_dotenv from mssql_python import connect load_dotenv() with connect(getenv("SQL_CONNECTION_STRING")) as conn: with conn.cursor() as cursor: cursor.execute("SELECT TOP 3 name, collation_name FROM sys.databases") rows = cursor.fetchall() for row in rows: print(row.name, row.collation_name)
코드 실행
명령 프롬프트에서 다음 명령을 실행합니다.
python sqltest.py데이터베이스 및 해당 데이터 정렬이 반환되었는지 확인한 다음, 명령 창을 닫습니다.
오류가 표시되는 경우:
사용 중인 서버 이름, 데이터베이스 이름, 사용자 이름 및 암호가 올바른지 확인합니다.
로컬 환경에서 코드를 실행하는 경우 액세스하려는 Azure 리소스의 방화벽이 환경의 IP 주소에서 액세스를 허용하도록 구성되어 있는지 확인합니다.