You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CentOS跳板服务器查询远端SQL Server的数据库及schema列表

CentOS跳板机查询目标SQL Server数据库及Schema列表操作方案

1. 前置依赖安装(首次操作执行)

CentOS默认未内置SQL Server命令行工具,需先安装sqlcmd工具:

  • 导入微软软件源
    # CentOS7 执行
    curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
    
    # CentOS8/9 执行
    curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo
    
  • 安装工具包
    yum install -y mssql-tools unixODBC-devel
  • 配置环境变量(全局生效)
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> /etc/profile
    source /etc/profile
    

2. 执行查询命令

查询所有数据库列表

sqlcmd -S <目标SQL ServerIP[,端口]> -U <登录用户名> -P <登录密码> -Q "SELECT name AS 数据库名称 FROM sys.databases;"

查询所有Schema列表

sqlcmd -S <目标SQL ServerIP[,端口]> -U <登录用户名> -P <登录密码> -Q "SELECT name AS Schema名称 FROM sys.schemas;"

命令示例

假设目标SQL Server IP为10.1.1.10,端口为1433,登录用户为sa,密码为Admin@2024,查询命令如下:

# 查询数据库
sqlcmd -S 10.1.1.10 -U sa -P 'Admin@2024' -Q "SELECT name AS 数据库名称 FROM sys.databases;"

# 查询Schema
sqlcmd -S 10.1.1.10 -U sa -P 'Admin@2024' -Q "SELECT name AS Schema名称 FROM sys.schemas;"

注意事项

  • 若目标SQL Server使用非默认1433端口,需在IP后拼接端口,示例:-S 10.1.1.10,1455
  • 若登录密码包含特殊字符(@、!、空格等),需用单引号包裹密码,避免Shell解析异常
  • 需导出结果到本地文件的,可在命令末尾追加-o /path/result.txt参数

内容的提问来源于stack exchange,提问作者busheriff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 21:45:06