로그인 관련 옵션 -A SQL server 관리자 전용된 연결 (DAC)로 로그입니다.이 연결 유형은 서버 문제를 해결하는 데 사용됩니다.이 연결은 DAC를 지원하는 서버 컴퓨터에만 사용할 수 있습니다.DAC를 사용할 수 없는 경우 sqlcmd 는 오류 메시지를 생성하고 종료됩니다.DAC에 대한 자세한 내용은 데이터베이스 관리자를 위한 진단 연결을 참조하세요.-A 옵션-G 옵션과 함께 지원 되지 않습니다.-A를 사용 하 여 SQL 데이터베이스에 연결할 때 SQL server 관리자 여야 합니다.DAC는 Azure Active Directory 관리자에 대 한 사용할 수 없습니다.
-C 이 스위치는 클라이언트에서 유효성 검사 없이 암시적으로 서버 인증서를 신뢰하는 데 사용됩니다.이 옵션은 ADO.NET 옵션 TRUSTSERVERCERTIFICATE = true와 동일합니다.
-ddb_name sqlcmd를 시작할 때 USEdb_name 문을 실행합니다.이 옵션은 sqlcmd 스크립팅 변수 SQLCMDDBNAME을 설정합니다.이 변수는 초기 데이터베이스를 지정합니다.기본값은 사용자 로그인의 기본 데이터베이스 속성입니다.데이터베이스가 없을 경우 오류 메시지가 생성되고 sqlcmd 가 종료됩니다.
-llogin_timeout 서버에 연결을 시도할 때 ODBC 드라이버에 대한 sqlcmd 로그인 시간 제한(초)을 지정합니다.이 옵션은 sqlcmd 스크립팅 변수 SQLCMDLOGINTIMEOUT을 설정합니다.기본 sqlcmd 로그인 제한 시간은 8초입니다.-G 옵션을 사용하여 SQL 데이터베이스 또는 SQL 데이터 웨어하우스에 연결하고 Azure Active Directory를 사용하여 인증하는 경우 최소 30초의 시간 제한 값이 권장됩니다.로그인 제한 시간은 0에서 65534 사이의 숫자여야 합니다.입력한 값이 숫자가 아니거나 이 범위에 속하지 않을 경우 sqlcmd 는 오류 메시지를 생성합니다.값을 0으로 설정하면 제한 시간이 없습니다.
-E SQL Server에 로그온 할 때 사용자 이름 및 암호를 사용 하는 대신 트러스트 된 연결을 사용 합니다.-E 를 지정하지 않으면 sqlcmd 는 기본적으로 트러스트된 연결 옵션을 사용합니다.
-E 옵션은 SQLCMDPASSWORD 등의 가능한 사용자 이름 및 암호 환경 변수 설정을 무시합니다.-E 옵션과 함께 -U 옵션 또는 -P 옵션을 사용하면 오류 메시지가 생성됩니다.
-g 열 암호화 설정을 Enabled로 설정합니다.자세한 내용은 Always Encrypted를 참조하세요.Windows 인증서 저장소에 저장된 마스터 키만 지원됩니다.-g 스위치를 사용하려면 적어도 sqlcmd 버전 13.1이 필요합니다.사용 중인 버전을 확인하려면 sqlcmd -?를 실행하세요.
-G 이 스위치는 Azure Active Directory 인증을 사용하여 사용자를 인증하도록 지정하기 위해 SQL 데이터 웨어하우스 또는 SQL 데이터베이스에 연결할 때 클라이언트에서 사용됩니다.이 옵션은 sqlcmd 스크립팅 변수 SQLCMDUSEAAD = true를 설정합니다.-G 스위치를 사용하려면 적어도 sqlcmd 버전 13.1이 필요합니다.사용 중인 버전을 확인하려면 sqlcmd -?를 실행하세요.자세한 내용은 Azure Active Directory 인증을 사용하여 SQL Database 및 SQL Data Warehouse에 연결을 참조하세요.-A 옵션-G 옵션과 함께 지원 되지 않습니다.
위의 옵션중 -i 옵션을 이용하여 대용량의 데이터를 쉽고 귀찮지 않게 넣을수 있었습니다.
먼저 해당 데이터베이스가 설치된 PC에서 작업을 기준으로 설명하겠습니다.
sqlcmd -i <파일경로 + 파일명>
저렇게 한참을 기다린뒤 작업이 마무리가 되어 명령프롬프트가 되돌아 왔습니다.
실제 데이터도 한글이나 기타 문자도 깨짐이 없이 잘 들어 갔습니다.
원격으로 작업을 진행하셔야하는 분들은 위의 명령어에 로그인옵션을 추가하여 작업할 수 있습니다.
sqlcmd -S tcp:<ip address,port> -i <파일경로>
사용예시 (2025.12.23 추가)
예시 1) SQL 로그인으로 파일 실행 (Windows) sqlcmd -S tcp:192.168.10.25,14330 -U sa -P "StrongP@ss!" -i "C:\sql\deploy.sql"
예시 2) Windows 통합 인증 sqlcmd -S tcp:10.0.0.5,1433 -E -i "C:\sql\report.sql"
예시 3) 특정 DB, 출력 저장, 오류 시 중단 sqlcmd -S tcp:db.mycompany.com,1433 -d SalesDB -U deployer -P "MyPass123" -i "C:\sql\init.sql" -o "C:\sql\init.out.txt" -b -r 1
예시 4) 변수 전달(-v)과 스크립트에서 사용 명령: sqlcmd -S tcp:192.168.10.25,1433 -U appuser -P "P@ss!" -v Env=Prod AppName="MyApp" -i "C:\sql\config.sql" 스크립트(config.sql) 내부에서: PRINT '환경=(Env),앱=(AppName)'; GO