2016-07-25 145 views
1

我在我的办公室设置了一个Ubuntu服务器,它将用于自动报告。我已经用LAMP堆栈设置了它。 Ubuntu 16.04服务器版。如何在没有管理员权限的情况下查找MS SQL端口?

即时得到当我试着通过PHP连接到我的公司之一MSSQL服务器我的新的服务器上的错误:

Failed to get DB handle: SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (severity 9)

香港专业教育学院建立了我与MSSQL的默认端口是1433。然而连接它不工作。

我对此SQL数据库有读取权限。

有什么方法可以找出SQL服务器正在监听的端口吗?没有联系IT部门(他们正在度假)

+0

你确定它是** MS ** SQL服务器吗?该错误消息引用了Sybase产品。 –

+0

@MartinSmith SQL Server和Sybase都使用TDS与客户端进行通信。在微软收购它之后,SQL Server是由Sybase创建的。 –

+0

@AlekseyRatnikov - 但他们是否使用相同的默认端口?快速谷歌表示“不”。 –

回答

0

nmap是一个很好的端口扫描仪。

sudo at-get install nmap 

nmap -p- 192.168.1.1 

如果您的目标不是192.168.1.1您应该更改IP。

阅读this

+0

不幸的是,这是行不通的。如果我尝试使用nmap -p- ,则会出现以下错误:“注意:主机似乎已关闭,如果它确实已关闭,但阻止了我们的ping探针,请尝试”-Pn“。所以我试了一下,然后出现以下错误:“错误485:您的端口限制是非法的....”。虽然主机没有关闭,但我可以从终端ping IP。 – SAH

0

看起来像是因为SQL Server配置错误。需要进行以下步骤来获得对SQL Server的远程访问:

  1. 启用TCP/IP访问的SQL Server:开始 - >所有程序 - > Microsoft SQL Server的YourVersion - >配置工具 - > SQL服务器YourVersion配置管理器 - > SQL Native Client配置 - > TCP/IP - >右键单击 - >启用。 enter image description here
  2. 为Windows防火墙添加入站规则,允许从所需网络(或主机)访问1433端口。
  3. 为SQL Server和Windows模式启用身份验证。在SSMS中,右键单击连接的实例 - >安全 - >服务器认证 - > SQL Server和Windows认证。 enter image description here
  4. 确保您的登录(安全 - >登录 - > YourLogin)具有所有必需的权限。

有了这些信息,您必须联系您的SQL Server DBA并要求他检查配置。

+0

嗨@alek,感谢您的回复。但是,我无法在暑假期间联系管理员。我所拥有的只是数据库的只读用户。我想使用该只读用户通过PHP和cron作业进行一些自动报告。 – SAH

+0

@SAH如果SQL Server数据库管理员在授予服务器远程访问权限时忘记了一些步骤,那么没有他的帮助就没有那么多了。但是,正如我之前提到的,您可以在您的Windows主机或虚拟主机上安装SSMS(https://msdn.microsoft.com/en-us/library/mt238290.aspx,它是免费的)(您也可以使用官方Microsoft的虚拟机器:https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/#downloads)来测试与您的登录名和密码的连接。 –

相关问题