2012-11-09 73 views
9

我被卡住在這一點上使用runas命令。我正嘗試在該服務器上使用Windows身份驗證登錄到遠程SQL Server實例。我使用這個命令 -使用runas命令遠程登錄到SQL Server

runas /netonly /user:Domain\Username 
     /server=someIP "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe" 

但是當我這樣做,它打開了我的管理工作室 - 的IP是遠程服務器中,Windows身份驗證默認情況下選中,我有我的當前系統的域和用戶名。

我實際上需要一種方法來指定連接字符串來登錄到遠程SQL Server並對其進行查詢。它是跨域的。

還有一個問題 - 我需要在機器上安裝Management Studio嗎?

謝謝。

編輯

我改寫爲更好的理解。

我有服務器A和服務器B(兩臺獨立的計算機)。我需要在B上從A開始查詢。A沒有任何SQL Server或管理工作室。 B有兩個。我必須使用windows身份驗證(類似於myDomain \ username)登錄到B的sql服務器。我正在使用runas命令,我在管理工作室的屬性中的「目標」中提到了B.是否有錯? 我使用與登錄B不同的用戶名(但是具有相同的域名)登錄到A中。 如何完成此任務?

感謝和抱歉的編輯。

+0

你是否試圖以這種方式運行SSMS? – mmcrae

+0

是的,我們是。爲什麼? –

回答

14

我使用以下快捷方式在不在域上的xp映像上運行SSMS,以使用域憑據連接到服務器。

%windir%\System32\runas.exe /netonly /user:domain\username "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe -S SERVERNAME" 
+2

請注意,您仍然會在SSMS連接對話框中看到您當前的域/用戶,但它將使用提供的/ user。 –

6

這是正確的,/ netonly將打開您當前的環境,並且SSMS將在登錄對話框中愚蠢地顯示您的憑據。這是可以預料的,因爲/ netonly確實意味着所提供的身份將僅在網絡上使用。但是,當您使用任何遠程資源進行身份驗證時,遠程站點將以「域\用戶名」身份驗證您的身份。

您可能不需要/ server選項。

+0

我想我明白你在說什麼。那麼如何編寫連接字符串呢? –

+0

只需在連接對話框中選擇遠程服務器即可。 –

+0

並選擇「Windows身份驗證」。沒有比這更多的東西了。還要注意,如果你有本地服務器,在localhost上運行,它不會使用netonly憑證,而是使用本地服務器。使它非常方便,在我看來:) – cairnz

0

第1步:導航到ssms.exe文件

SSMS 2016版本:

C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe 

SSMS 2017年版:

C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe 

右擊ssms。EXE並選擇屬性

那麼標籤兼容性

,並點擊按鈕更改設置爲所有用戶

檢查運行該程序的管理員並點擊確定

步驟2:建立一個快捷方式與該路徑

SSMS 2016版本:C:\Windows\System32\runas.exe /savecred /user:domain\username "cmd /c \"C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe\""

SSMS 2017版本:C:\Windows\System32\runas.exe /savecred /user:domain\username "cmd /c \"C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe\""

注:CMD/C在路徑中,這使得整個區別。

就是這樣。希望它能爲你工作。

PS:關於步驟一,如果你只是想進行更改,啓動應用程序作爲管理員爲特定的用戶,登錄的計算機上的用戶和做同樣的,不會對更改設置的步驟所有用戶