2016-12-16 92 views
1

我試圖使用SQSH從Linux終端連接到我的SQL Server。該生產線是:以sqsh指定域

sqsh -S <ip address> -U <DOMAIN\user> 

它拋出一個錯誤:

Msg 18456, Level 14, State 1 Server 'DC2', Line 1
Login failed for user ''.

注意,它似乎已經刪除了「\」分開我的域和用戶。

在服務器端,我的事件日誌證實了同樣的事情。本次活動內容如下:

Login failed for user 'DOMAINuser'.
Reason: Could not find a login matching the name provided.

我一直使用單引號和雙引號來封裝域和用戶名,但是當我這樣做,請求甚至不使它的服務器,嘗試可能是因爲報價表示語法上的其他內容。

有誰知道我在做什麼錯?

+0

嘗試兩個反斜槓。在大多數linux/Unix迭代中,反斜槓是轉義字符。 –

+0

沒有骰子。當我嘗試它時,請求不會將其發送到服務器。 – Coalsand

+0

你有沒有試過通過$ username變量設置它? – scsimon

回答

0

sqsh默認使用FreeTDS配置文件,因此可以指定TDS的版本。一個完整的描述可以發現here,但該命令行的結果應該是這樣的:

sqsh -S<config file name> -D <database name> -U <domain>\\<user> -P <password/hash> 

例子:

sqsh -S mssql -D MyDB -U DOMAIN\\testuser -P MyTestingClearPassword1 
+0

當我以DOMAIN \\ user的身份輸入用戶時,連接請求未將其發送到服務器 - 事件中沒有失敗的登錄然而,如果我以DOMAIN \ user的身份輸入它,則登錄失敗會像以前一樣出現在事件日誌中:登錄失敗,用戶'DOMAINuser' – Coalsand

+0

我最終通過直接通過MSSQL Server Management創建登錄來繞過此問題工作室,從而不需要指定一個域名。不知道這是否會限制下線,但我想我們會看到! – Coalsand