在 Windows 命令提示符(CMD)中操作 SQL Server,主要依赖 sqlcmd
工具(执行 T-SQL 命令)和 net
/sc
命令(管理服务)。以下是常用的基本 CMD 操作命令分类及示例:
一、连接与交互类(sqlcmd
工具)
sqlcmd` 是 SQL Server 命令行交互工具,用于执行 T-SQL 语句或脚本,基本格式: `sqlcmd -S <服务器> -U <用户名> -P <密码> [参数]
1. 连接服务器
# 1. Windows 身份验证(本地默认实例) sqlcmd -S . -E # 2. Windows 身份验证(本地命名实例 SQLEXPRESS) sqlcmd -S .\SQLEXPRESS -E # 3. SQL Server 身份验证(远程服务器,端口1433) sqlcmd -S 192.168.1.100,1433 -U sa -P YourPassword
2. 执行单条 T-SQL 命令
# 执行查询并退出(-Q 参数) sqlcmd -S .\SQLEXPRESS -E -Q "SELECT name FROM sys.databases;" # 执行创建数据库命令 sqlcmd -S . -E -Q "CREATE DATABASE TestDB;"
3. 运行 SQL 脚本文件
通过 -i
参数执行本地 .sql
脚本文件(适合批量操作):
# 执行 D:\scripts\create_table.sql 脚本 sqlcmd -S . -E -i "D:\scripts\create_table.sql" # 执行脚本并将结果输出到文件(-o 参数) sqlcmd -S . -E -i "D:\scripts\query.sql" -o "D:\results.txt"
4. 交互模式操作
连接后进入交互模式(输入 GO
执行命令):
# 进入交互模式 sqlcmd -S .\SQLEXPRESS -E # 交互模式内执行命令(示例) 1> USE TestDB; 2> SELECT * FROM Users; 3> GO -- 执行以上语句 4> EXIT -- 退出交互模式
二、服务管理类(net
/sc
命令)
用于启动、停止、重启 SQL Server 服务(需管理员权限)。
1. 查看服务状态
# 查看默认实例状态 sc query MSSQLSERVER # 查看 SQLEXPRESS 实例状态 sc query MSSQL$SQLEXPRESS
2. 启动服务
# 启动默认实例 net start MSSQLSERVER # 启动 SQLEXPRESS 实例 net start MSSQL$SQLEXPRESS
3. 停止服务
# 停止默认实例 net stop MSSQLSERVER # 停止 SQLEXPRESS 实例 net stop MSSQL$SQLEXPRESS
4. 重启服务(停止后启动)
# 重启 SQLEXPRESS 实例(需管理员 CMD) net stop MSSQL$SQLEXPRESS && net start MSSQL$SQLEXPRESS
三、备份与恢复(通过 sqlcmd
执行 T-SQL)
通过 sqlcmd
执行备份 / 恢复的 T-SQL 命令,实现 CMD 环境下的操作。
1. 数据库备份
# 备份 TestDB 到指定路径 sqlcmd -S . -E -Q "BACKUP DATABASE TestDB TO DISK = 'D:\backups\TestDB.bak' WITH INIT;" # 说明:WITH INIT 表示覆盖现有备份文件
2. 数据库恢复
# 恢复 TestDB(需先断开数据库连接) sqlcmd -S . -E -Q "RESTORE DATABASE TestDB FROM DISK = 'D:\backups\TestDB.bak' WITH REPLACE;" # 说明:WITH REPLACE 表示覆盖现有数据库
四、其他常用命令
# 1. 查看 sqlcmd 版本及帮助 sqlcmd -? # 2. 查看 SQL Server 版本(通过 T-SQL) sqlcmd -S . -E -Q "SELECT @@VERSION;" # 3. 检查数据库连接(测试端口是否可达) telnet 192.168.1.100 1433 # 需要先开启 telnet 客户端功能
注意事项
权限要求:管理服务(启动 / 停止)和高权限操作(备份 / 恢复)需以 管理员身份 运行 CMD。
路径问题:若
sqlcmd
未加入系统环境变量,需使用完整路径(如C:\Program Files\Microsoft SQL Server\150\Tools\Binn\sqlcmd.exe
)。错误排查:连接失败时,检查服务器名称、端口、账户密码及 SQL Server 服务是否启动。
通过上述命令,可在 CMD 环境下完成 SQL Server 的基本管理和操作,适合自动化脚本或无图形界面场景。