2016-07-25 152 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)來測試與您的登錄名和密碼的連接。 –

相關問題