2017-11-23 9 views
0

Ich versuche, eine Verbindung zu einer entfernten Datenbank mit sqlcmd herzustellen. Ich habe etwas versucht, wie dieseKann sich nicht remote bei einer SQL Server-Datenbank mit sqlcmd anmelden

sqlcmd -U <ComputerName>\Administrator -P adminpassword -S *.*.*.* -d mydatabase 

Aber das verursacht einen Fehler:

Failed to Login failed for user '\Administrator'

Wenn ich auf den Server anmelden, wo meine Datenbank und den Befehl ausführen, wird es mich nicht anmelden lassen, entweder. Aber wenn ich in meine SQL Server-Datenbank gehe und einen SQL Server-Benutzer erstelle und den gleichen Befehl mit diesen Details führe, kann ich mich anmelden.

Aber was ich tun möchte, ist über den Administrator Benutzer von einem anderen Rechner einzuloggen . Sieht jemand was ich falsch mache?

+2

Sie können keine Windows-Anmeldeinformationen als die Verbindungsparameter an. Use könnte das 'RUNAS'-Tool verwenden, um' SQLCMD' als einen anderen Benutzer auszuführen, aber dafür wird ein Domänenbenutzer benötigt. Sie müssen den Befehl lokal auf dem Server ausführen, um die Identität eines anderen lokalen Benutzers als des angemeldeten Benutzers anzunehmen. Die Verbindung zur Verwendung der SQL-Authentifizierung ist wesentlich einfacher, wenn Sie nicht als gewünschter Benutzer angemeldet sind. –

+0

Ich würde nicht sagen, dass es viel einfacher ist, sich mit der SQL Server-Authentifizierung anzumelden. Um eine Anwendung als einen anderen Benutzer auszuführen, ist es so einfach wie Shift und Rechtsklick auf die Anwendung zu halten, dann Run as Different user gewählt. Dann loggen Sie sich einfach als dieser Benutzer ein. Das OP scheint jedoch zu implizieren, dass sie lokale Anmeldeinformationen verwenden und nicht die einer Domäne. Bist du in einer Arbeitsgruppe? – Larnu

+0

Die Arbeitsgruppe auf allen unseren Computern ist 'WorkGroup', Mein Computer ist nicht Teil einer Domäne, wenn ich die Systerm-Eigenschaften sehe. Es stimmt, ich gebe lokale Anmeldeinformationen ein, aber sie sind die Anmeldeinformationen, die ich verwenden würde, wenn ich mich über den Remote-Desktop verbinde. – MrClamps

Antwort

0

Mit Windows-Anmeldeinformationen sollten Sie -E verwenden:

sqlcmd -E -S *.*.*.* -d mydatabase 
+0

Dies funktioniert nicht für den Versuch, eine Remoteverbindung herzustellen – MrClamps

+0

Welchen Fehler haben Sie? – sepupic

+0

Wenn Sie keine Domäne haben, gibt es nur 2 Optionen: oder Sie verwenden SQL Server-Anmeldung und nicht Windows-Anmeldung, oder Ihr lokaler Account \ Administrator sollte auf dem Computer mit SQL Server mit dem gleichen Kennwort – sepupic

Verwandte Themen