SQL-Konsole

  • Allgemein

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von jupp4601.

    Hallo, ich bin Anfänger und wollte per SQL-Konsole auf den SQL-Server Express 2008 R2 zugreifen.
    Beim Ausführen des Kommandos 'sqlcmd' kommt eine Fehlermeldung(s. Anlage).
    Andere Befehle wie 'exec' oder 'go' werden als entweder falsch geschrieben oder als nicht gefunden bezeichnet.

    Was kann ich machen?
    Dateien
    Wo läuft denn der SQL-Server? Lokal oder auf einem anderen Rechner?

    Deine Fehlermeldung sagt aus, dass der Server auf dem lokalen Rechner nicht vorhanden ist. Deshalb kann sqlcmd den Server nicht finden. Also musst du dem Programm noch Parameter mitgeben, damit es den Server auch findet. Welche das genau sind, kann ich dir aber erst sagen, wenn ich die Antwort auf die obige Frage kenne. Die Dokumentation des Befehls findest du hier: technet.microsoft.com/de-de/library/ms162773.aspx

    Dass dein zweiter Aufruf nicht funktioniert sollte dir eigentlich klar sein: Den kannst du erst im Programm sqlcmd eingeben. Dafür muss es aber erst gestartet sein, was ja noch nicht funktioniert hat.

    Da du offensichtlich nicht viel Erfahrung mit Computern / der Konsole hast: Word-Dokumente sind für den Austausch von Informationen im Internet nicht gedacht. Klar kann man da alles reinstopfen (Text / Bilder / whatever), aber nicht jeder kann diese Dokumente öffnen. Außerdem ist es nicht schön, wenn die Informationen in einem Container verpackt sind, wenn das total unnötig ist (in deinem Fall: Text auf Bild in Word-Dokument in Zip-Datei...aaaah!). Screenshots speichert man z.B. mit Paint (oder einem anderen Grafikprogramm) und bindet das Bild direkt im Beitrag ein. Wenn es nur um eine Fehlermeldung geht, kann man den Meldungstext auch einfach kopieren und hier einfügen.
    Gruß
    hal2000
    hal200 Vielen Dank für die konstruktiven Hinweise.
    Das mit dem Sreenshot werde ich beim nächsten Mal anders machen.

    Das Problem mit der SQL-Konsole rührt von einem anderen Problem her:
    Ich möchte ein kleines Programm zur Verwaltung von Mitarbeiterdaten entwickeln.
    Die Daten sollen in einem MS SQL Server gespeichert werden.
    Zum Einsatz kommen SQL-Server 2008 R2 Express und Visual Basic 2010 Express.
    Ich habe den SQL-Server installiert, dann direkt auf dem SQL-Server eine Datenbank mit Tabellen angelegt.

    Beim Versuch, von Visual Basic aus über
    - Neue Datenquelle hinzufügen
    - Datenbank
    - DataSet
    - MS SQL Server-Datenbankdatei(SQLClient)
    - Windows-Authentifizierung verwenden
    eine Verbindung mit dieser Datenbank herzustellen, kommt folgender Fehler:

    Fehler
    beim Generieren einer Benutzerinstanz von SQL Server aufgrund eines
    Fehlers beim Starten des Prozesses für die Benutzerinstanz.
    Die Verbindung wird getrennt.

    Ich habe den SQL Server schon mehrfach neu installiert. Dies hat aber leider nicht geholfen.
    In einem anderen Forum habe ich gelesen, dass man mit der SQL-Konsole überprüfen kann, ob eine Instanz an ist oder nicht.

    Nun zurück zu der Frage.
    Der SQL-Server läuft auf dem gleichen PC. Wenn ich mit dem SQL Server-Konfigurations-Manager nachschaue, dann sehe ich, dass der SQL Server ausgeführt wird.
    Windows-Authentifizierung verwenden
    Aha! Dort könnte der Fehler liegen. Die Windows-Authentifizierung ist was fundamental anderes als die Authentifizierung mit Benutzername und Passwort, was m.E. die Standardeinstellung auch beim SQL-Server von Microsoft ist. Leider kann ich das nicht nachprüfen, weil ich gerade keinen MS-SQL-Server zur Hand habe. Aber probiere doch bitte mal folgendes: Verwende beim Erstellen der Verbindung in Visual Studio die SQL-Server-Authentifizierung (die andere Option unter Windows-Auth). Trage dort die Benutzerdaten ein, die du für den Datenbankadministrator bei der Installation des Servers höchstwahrscheinlich eingeben / wählen musstest.

    Falls das nicht funktioniert, wähle bitte beim Erstellen der Verbindung nicht "SQL Server", sondern "SQL-Server-Datenbankdatei" und suche dir die Datenbankdatei der lokalen Server-Instanz.

    Ich habe den SQL Server schon mehrfach neu installiert.
    Das kannst du dir sparen - dauert ewig und bringt nichts. Der SQL-Server ist nicht Windows :). Nein ehrlich - die meisten Programme kann man so konfigurieren, dass sie wie gewünscht funktionieren.

    Ich möchte ein kleines Programm zur Verwaltung von Mitarbeiterdaten entwickeln.
    Soll dieses Programm von mehreren Benutzern gleichzeitig verwendet werden? Wenn das auch in Zukunft nie erforderlich ist, ist der SQL-Server nicht nötig. Dann kannst du eine dateibasierte Datenbank verwenden, die viel einsteigerfreundlicher ist. Direkt aus Visual Studio heraus kannst du eine SQLServer-Compact-Datenbank anlegen (auch im Verbindungsmenü). Das erzeugt dir eine *.sdf-Datei, in der die ganze Datenbank liegt. Eine Alternative ist SQLite - diese ist weit verbreitet und kann auch mit Visual Basic verwendet werden.
    Gruß
    hal2000
    Vielen Dank hal2000 für die konstruktiven Hinweise.

    Ich habe jetzt nochmals 'experimentiert' und beim Verbindungsaufbau vob VB 2010 zu SQL Server 2088 im Bereich [Erweitert] bei User Instance False ausgewählt.
    Danach konnte die Verbindung hersgestellt werden.
    Richtig verstanden habe ich es nicht, warum es jetzt klappt.

    Den SQL Server Express ha<be ich ausgewählt, weil später mehrere Anwender auf die Mitarbeiterverwaltung zugreifen können sollen und weil die Daten von einem SQL Server Expresxs leicht auf einen 'normalen' SQl Server übertragbar sein sollen.

    Nochmals Danke!
    Seltsam - User Instance ist laut Dokumentation standardmäßig auf False festgelegt. Naja - sofern alles funktioniert, ist das ja nicht weiter tragisch.

    Teste das Ganze unbedingt nochmal mit parallelen Zugriffen, bevor du die Anwendung weiterentwickelst - in der Doku steht irgendwas von exklusiv gesperrten Kopien der Datenbank, wenn User Instances verwendet werden. Wenn du die schon explizit deaktivieren musst, könnte da vielleicht später was schiefgehen.
    Gruß
    hal2000