Verwalten von SQL Server Desktop Engine (MSDE 2000) oder SQL Server 2005 Express Edition mithilfe des Dienstprogramms osql

Veralteter Haftungsausschluss für KB-Inhalte

Dieser Artikel wurde für Produkte geschrieben, für die Microsoft keinen Support mehr anbietet. Deshalb wird dieser Artikel im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.

Zusammenfassung

SQL Server Desktop Engine (MSDE 2000) muss nicht die eigenen Benutzeroberfläche, da es hauptsächlich im Hintergrund ausgeführt werden soll. Benutzer interagieren mit MSDE 2000 über das Programm, in das es eingebettet ist. Das einzige Tool, das mit MSDE 2000 ist das Dienstprogramm Osql . Die ausführbare Datei, Sql.exe, befindet sich im Ordner "MSSQL\Binn" für eine Standardinstanz von MSDE 2000. Dieser Artikel konzentriert sich auf MSDE 2000 mithilfe des Dienstprogramms osql verwalten.

Bei Verwendung von SQL Server 2005 auch können das Dienstprogramm Osql Sie SQL Server 2005 Express Edition verwalten. Diese Funktion wird jedoch in einer zukünftigen Version von Microsoft SQL Server 2005 entfernt. Wir empfehlen nicht diese Funktion bei neuen Entwicklungen und Programme ändern, die derzeit die Funktion verwenden möchten. Verwenden Sie das Dienstprogramm Sqlcmd. Weitere Informationen dazu, wie Sie Sqlcmd-Dienstprogramm finden Sie auf folgender Website von Microsoft Developer Network (MSDN):

Osql Neuigkeiten

Das Dienstprogramm Osql ist ein Microsoft Windows 32-Befehlszeilen-Dienstprogramm, mit dem Sie Transact-SQL-Anweisungen und Skriptdateien ausführen. Das Dienstprogramm Osql verwendet die ODBC-Datenbank Application programming Interface (API) mit dem Server kommunizieren.


Wie verwenden Sie Osql?

Normalerweise verwenden Sie das Dienstprogramm Osql folgendermaßen:
  • Benutzer geben Sie Transact-SQL-Anweisungen interaktiv mit der Befehlszeile ähnlich.
  • Absenden eines Osql -Auftrags durch:
    • Festlegen einer einzelnen Transact-SQL-Anweisung ausführen. – oder –

    • - oder -durch Verweisen auf eine Skriptdatei mit Transact-SQL-Anweisung ausführen.

Geben Sie interaktiv Transact-SQL-Anweisung

Zeigt eine Liste der Optionen für das Dienstprogramm Osql beachten, geben Sie Folgendes an der Befehlszeile und drücken Sie die EINGABETASTE:

osql -?


Weitere Informationen zu den einzelnen Optionen für das Dienstprogramm Osql finden Sie "Osql (Dienstprogramm)" in der SQL Server-Onlinedokumentation.

Um interaktiv Transact-SQL-Anweisung einzugeben, gehen Sie folgendermaßen vor:

  1. Stellen Sie sicher, dass MSDE 2000 ausgeführt wird.
  2. Mit MSDE 2000 verbinden (Weitere Informationen finden Sie im Abschnitt "Verbinden mit SQL Server Desktop Engine (MSDE 2000)").
  3. Osql aufgefordert werden Geben Sie die Transact-SQL-Anweisung, und drücken Sie. Drücken der EINGABETASTE am Ende jeder Eingang speichert Osql die Anweisung in dieser Zeile.

    • Führen Sie aktuell zwischengespeicherten Anweisungen geben Sie "Go" und drücken Sie die EINGABETASTE.

    • Um einen Stapel von Transact-SQL-Anweisungen auszuführen, geben Sie jede Transact-SQL-Befehl in separaten Zeilen. Geben Sie "Go" in der letzten Zeile an das Ende des Stapels und aktuell zwischengespeicherten Anweisungen ausgeführt.

    Die Ergebnisse werden im Konsolenfenster angezeigt.

  4. Osqlbeenden, geben Sie QUIT oder EXIT und dann die EINGABETASTE.

Sendet einen Osql-Auftrag

In der Regel müssen Sie einen Osql -Auftrag auf zwei Arten. Sie können entweder:

  • Festlegen einer einzelnen Transact-SQL-Anweisung.

    – oder –

  • - oder -das Dienstprogramm auf eine Skriptdatei verweisen.
Weitere Informationen zu jeder Methode sieht.

Eine einzelne Transact-SQL-Anweisung angeben

Um eine Transact-SQL-Anweisung für die lokale Standardinstanz von MSDE 2000 auszuführen, geben Sie einen Befehl ähnlich


Osql – E – Q "Transact-SQL-Anweisung"


wo

  • -E verwendet Microsoft Windows NT-Authentifizierung.

    - und -

  • - und --q führt die Transact-SQL-Anweisung jedoch Osql nicht beendet, wenn die Abfrage abgeschlossen ist.
Transact-SQL-Anweisung ausführen und Osqlbeenden anstelle der Option-q - Q.


Das Dienstprogramm auf eine Skriptdatei verweisen

Gehen Sie folgendermaßen vor, um das Dienstprogramm auf eine Skriptdatei verweisen:
  1. Erstellen Sie eine Skriptdatei mit Transact-SQL-Batchanweisungen (wie myQueries.sql).
  2. Öffnen Sie ein Eingabeaufforderungsfenster, geben Sie einen Befehl ähnlich dem folgenden und drücken

    Osql -E i - Eingabedatei


    wo

    Eingabedatei ist der vollständige Pfad der Skriptdatei. Wenn Skript Datei myQueries.sql im Ordner "C:\Queries" gespeichert, ersetzen Sie den Parameter Eingabedatei durch C:\Queries\myQueries.sql fest.

    Die Ergebnisse der Skriptdatei werden im Konsolenfenster angezeigt. Ggf. die Ergebnisse an eine Datei leiten fügen Sie das -oAusgabedatei gezeigten Befehl. Beispiel:

    Osql -E -i -o-Ausgabedatei Eingabedatei


    wo

    Ausgabedatei ist der vollständige Pfad der Ausgabedatei.

    Entfernen der Nummerierung und fordert Symbole in der Ausgabe fügen Sie hinzu -n gezeigten Befehl. Beispiel:

    Osql -E -i Eingabedatei -o Ausgabedatei - n

Verbinden Sie mit SQL Server Desktop Engine (MSDE 2000)

Verbindung zu MSDE 2000 folgendermaßen Sie vor:

  1. Stellen Sie sicher, dass MSDE 2000 ausgeführt wird.
  2. Öffnen Sie ein Eingabeaufforderungsfenster auf dem Computer, der die Instanz von MSDE 2000 befindet, dem Sie eine Verbindung herstellen möchten.
  3. Geben Sie den folgenden Befehl ein, und drücken Sie die EINGABETASTE:

    Osql -E


    Dies verbindet Sie mit der lokalen Standardinstanz von MSDE 2000 mithilfe der Windows-Authentifizierung.

    Geben Sie zum Herstellen einer benannten Instanz von MSDE 2000

    Osql -E -S Servername\Instanzname


    Erhält die Fehlermeldung MSDE 2000 möglicherweise nicht ausgeführt oder Sie haben einen falschen Namen für die benannte Instanz von MSDE 2000 die installierte angegeben:

    [Shared Memory] SQL Server existiert nicht oder Zugriff verweigert.
    [Shared Memory] ConnectionOpen CreateFile (Connect()).
    Wenn Sie mit dem Server verbunden sind, wird die folgende Meldung angezeigt:

       1>

    Dieses Symbol weist darauf hin, dass Osql gestartet wird. Jetzt können Sie interaktiv Transact-SQL-Anweisungen, und die Ergebnisse werden in der Befehlszeile Zeile.

MSDE 2000 verwalten

Die verbleibenden Abschnitte dieses Artikels erläutern kurz Transact-SQL-Befehle zum Verwalten von MSDE 2000 am häufigsten verwendet.

Eine neue Anmeldung erstellen

Ein Benutzer kann nicht mit SQL Server ohne Angabe eines gültigen Benutzernamens verbinden. Sp_grantlogin gespeicherte Prozedur wird verwendet, um ein Microsoft Windows-Netzwerkkonto (entweder eine Gruppe oder ein Benutzerkonto) für die Verwendung als SQL Server-Benutzername für die Verbindung zu einer Instanz von SQL Server mithilfe der Windows-Authentifizierung zu autorisieren. Das folgende Beispiel ermöglicht Windows NT-Benutzer mit dem Namen "Corporate\Test" erlaubt, eine SQL Server-Instanz herstellen:

EXEC sp_grantlogin 'Corporate\Test'
Nur Mitglieder der Sysadmin oder der festen Serverrolle Securityadmin können Sp_grantlogin gespeicherte Prozedur ausführen. Weitere Informationen zu Rollen finden Sie unter dem Thema "Rollen, SQL Server-Architektur" in der SQL Server-Onlinedokumentation.

Weitere Informationen über Sp_grantlogin gespeicherte Prozedur finden Sie unter "Sp_grantlogin, Transact-SQL-Referenz" in SQL Server-Onlinedokumentation.

Erstellt ein neues Anmeldekonto für SQL Server-Verbindung mithilfe der SQL Server-Authentifizierung verwenden Sie Sp_addlogin gespeicherte Prozedur. Das folgende Beispiel erstellt einen SQL Server-Benutzernamen für einen Benutzer namens "test" mit dem Kennwort "Hello":

EXEC sp_addlogin 'test','hello'
Nur Mitglieder der Sysadmin und der festen Serverrolle Securityadmin können Sp_addlogin gespeicherte Prozedur ausführen. Weitere Informationen über Sp_addlogin gespeicherte Prozedur finden Sie unter "Sp_addlogin, Transact-SQL-Referenz" in SQL Server-Onlinedokumentation.

Zugriff auf eine Datenbank

Nachdem ein Benutzer zu einer Instanz von SQL Server herstellt, können sie Aktionen in einer Datenbank ausführen, bis der Dbo ihnen Zugriff auf die Datenbank gewährt. Die Sp_grantdbaccess gespeicherten Prozedur können Sie der aktuellen Datenbank ein Sicherheitskonto für einen neuen Benutzer hinzufügen. Im folgenden Beispiel wird ein Konto für einen Microsoft Windows NT-Benutzer Corporate\BobJ auf die aktuelle Datenbank und Namen "Bob":
EXEC sp_grantdbaccess 'Corporate\BobJ', 'Bob'

Sp_adduser gespeicherte Prozedur führt die gleiche Funktion wie die Prozedur Sp_grantdbaccess gespeichert. Da Sp_adduser gespeicherte Prozedur Abwärtskompatibilität ist, empfiehlt Microsoft, die Sp_grantdbacess gespeicherte Prozedur verwenden.

Nur Mitglieder der festen Serverrolle, Db_accessadmin und der festen Datenbankrolle Db_owner Sysadmin können die Sp_grantdbaccess gespeicherte Prozedur ausführen. Weitere Informationen über die Sp_grantdbaccess gespeicherte Prozedur finden Sie unter "Sp_grantdbaccess, Transact-SQL-Referenz" in SQL Server-Onlinedokumentation.

Das Kennwort für eine Anmeldung ändern

Verwenden Sie zum Ändern des Kennworts für einen Benutzernamen Prozedur Sp_password gespeichert. Im folgenden Beispiel wird das Kennwort für die Anmeldung "Test" in "Hello" von "ok":

EXEC sp_password 'ok', 'hello','test'

Die Ausführungsberechtigungen Sie erhält standardmäßig die public-Rolle für einen Benutzer, der das Kennwort für seine Anmeldung ändert. Nur Mitglieder der Sysadmin -Rolle können das Kennwort für die Anmeldung eines anderen Benutzers ändern. Weitere Informationen über die Sp_password gespeicherten Prozedur finden Sie unter "Sp_password, Transact-SQL-Referenz" in SQL Server-Onlinedokumentation

Erstellen einer Datenbank

MSDE 2000-Datenbank besteht aus einer Sammlung von Tabellen, die enthalten Daten und andere Objekte, wie Ansichten, Indizes, gespeicherten Prozeduren und Triggern definiert sind, um mit den Daten durchgeführten Aktivitäten zu unterstützen. Um MSDE 2000-Datenbank zu erstellen, verwenden Sie den Befehl "CREATE DATABASE" Transact-SQL. Weitere Informationen zum Erstellen einer Datenbank finden Sie unter dem Thema "Datenbank erstellen" in der SQL Server-Onlinedokumentation.

Das folgende Beispiel erstellt eine Datenbank mit dem Namen Test. Da der Befehl keine zusätzlichen Parameter hinzugefügt werden, werden die Datenbank die gleiche Größe wie die Model -Datenbank:

CREATE DATABASE Test
CREATE DATABASE-Berechtigung standardmäßig auf die Mitglieder der festen Serverrollen Dbcreator und Sysadmin . Weitere Informationen zum Befehl "CREATE DATABASE" finden Sie unter dem Thema "CREATE DATABASE, Transact-SQL-Referenz" in der SQL Server-Onlinedokumentation.

Um ein neues Datenbankobjekt zu erstellen, verwenden Sie Transact-SQL erstellen Befehl. Um eine neue Tabelle zu erstellen, z. B. "CREATE TABLE" Transact-SQL-Befehl. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.

Sichern und Wiederherstellen von Datenbanken

Die Komponente sichern und Wiederherstellen von SQL Server stellt einen wichtigen Schutz für Schutz wichtiger Daten in SQL Server-Datenbanken gespeichert.

Mit der richtigen Planung können Sie viele Fehler ergeben:
  • Datenträgerfehler.
  • Benutzerfehler.
  • Permanente Verlust eines Servers.
Darüber hinaus eignet sich sichern und Wiederherstellen von Datenbanken für andere Zwecke, wie eine Datenbank von einem Server auf einen anderen kopieren. Durch eine Datenbank von einem Computer sichern und Wiederherstellen der Datenbank auf einen anderen kopieren Sie schnell und einfach eine Datenbank.

Weitere Informationen zur Datenbank sichern und wiederherstellen, finden Sie im Thema "Sichern und Wiederherstellen von Datenbanken" in der SQL Server-Onlinedokumentation.

Das folgende Beispiel führt eine vollständige Sicherung für eine Datenbank namens MydbNamen backup "Mydb.bak", und speichert die Sicherungskopie dann im Ordner "C:\Msde\Backup":

BACKUP DATABASE mydb TO DISK = 'C:\MSDE\Backup\mydb.bak'

Das folgende Beispiel führt eine Sicherung für eine Datenbank namens Mydb, Namen backup Mydb_log.bak und speichert sie im Ordner "C:\Msde\Backup":

BACKUP LOG mydb TO DISK = 'C:\MSDE\Backup\mydb_log.bak'

BACKUP DATABASE- und BACKUP LOG-Berechtigungen erhalten standardmäßig Mitglieder der festen Serverrolle Sysadmin und Db_owner und Db_backupoperator festen Datenbankrollen. Weitere Informationen über die BACKUP-Anweisung finden Sie unter dem Thema "BACKUP, Transact-SQL-Referenz" in der SQL Server-Onlinedokumentation.


MSDE beinhaltet den Dienst SQL Server-Agent zum Verwalten geplanter Aufträge. Sie können z. B. erstellen und Planen eines Sicherungsauftrags Transact-SQL. Der SQL Server-Agent-Dienst verwaltet die Planung von Aufträgen. Beispielcode zur Verwendung die diversen gespeicherten Prozeduren von MSDE 2000 zu einer Sicherung die Sicherung planen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

241397 wie Sichern eine Microsoft Data Engine-Datenbank mit Transact-SQL
Weitere Informationen zu SQL Server-Agent-Dienst finden Sie unter dem Thema "SQL Server Agent Service" in der SQL Server-Onlinedokumentation.

Sichern einer Datenbank ist nur eine Hälfte des Prozesses. Es ist wichtig zu wissen, wie die Datenbank aus einer Sicherung wiederherstellen. Im folgenden Beispiel wird eine Datenbank mit dem Namen Mydb aus der Sicherungsdatei C:\Msde\Backup\Mydb.bak wiederhergestellt:

RESTORE DATABASE mydb FROM DISK ='C:\MSDE\Backup\mydb.bak'
Wenn die wiederherzustellende Datenbank nicht vorhanden ist, müssen erstellen Sie Datenbankberechtigungen RESTORE-Anweisung ausführen. Wenn die Datenbank vorhanden ist, feste RESTORE-Berechtigungen standardmäßig den Mitgliedern der Sysadmin und Dbcreator Serverrollen und Datenbankbesitzer (Dbo) der Datenbank. Weitere Informationen zu RESTORE-Anweisung finden Sie "RESTORE, Transact-SQL-Referenz" in der SQL Server-Onlinedokumentation.

Anfügen und Trennen einer Datenbank

Die Protokolldateien Daten- und Transaktionsprotokolldateien einer Datenbank werden getrennt und anschließend einem anderen Server oder demselben Server angefügt. Trennen einer Datenbank SQL Server-Datenbank entfernt jedoch intakt die Datenbank in den Daten- und Transaktionsprotokolldateien Protokolldateien, aus die die Datenbank besteht. Diese Daten- und Transaktionsprotokolldateien Protokolldateien können Sie jede Instanz von SQL Server, einschließlich des Servers, von dem Trennen der Datenbank, die Datenbank anzufügen. Dadurch wird die Datenbank in genau demselben Zustand, beim getrennt wurde, verfügbar. Weitere Informationen finden Sie unter "Anfügen und Trennen einer Datenbank" in SQL Server-Onlinedokumentation.


Das folgende Codebeispiel trennt eine Datenbank namens Mydb von der aktuellen Instanz von SQL Server:

EXEC sp_detach_db 'mydb'
Nur Mitglieder der festen Serverrolle Sysadmin können Sp_detach_db gespeicherte Prozedur ausführen. Weitere Informationen über die Sp_detach_db gespeicherten Prozedur finden Sie unter "Sp_detach_db, Transact-SQL-Referenz" in SQL Server-Onlinedokumentation.


Im folgende Beispiel werden zwei Dateien aus einer Datenbank mit dem Namen Mydb der aktuellen SQL Server-Instanz angefügt:

EXEC sp_attach_db @dbname = N'mydb',    @filename1 = N'C:\MSDE\Backup\mydb.mdf', 
@filename2 = N'C:\MSDE\Backup\mydb.ldf'

Der Großbuchstabe N wird als Präfix eine Unicode-Zeichenfolgenkonstante verwendet. Das Präfix "N" steht für Landessprache im SQL-92-Standard. Weitere Informationen finden Sie im folgenden Artikel in der Microsoft Knowledge Base:

239530 -INF: Unicode-Zeichenketten in SQL Server erfordern Präfix N
Nur Mitglieder der festen Serverrollen Dbcreator und Sysadmin können diese Prozedur ausführen. Weitere Informationen zu der Sp_attach_db gespeicherten Prozedur finden Sie unter "Sp_attach_db, Transact-SQL-Referenz" in SQL Server-Onlinedokumentation.

Die folgende Informationen über die Verwendung des Dienstprogramms Osql gilt auch für alle Editionen von Microsoft SQL Server 2000.

Referenzen

Um eine aktualisierte Version von SQL Server 2000 Books Online herunterzuladen, besuchen Sie die folgende Microsoft-Website:

Herunterladen von SQL Server 7.0-Version von SQL Server-Onlinedokumentation finden Sie auf der folgenden Microsoft-Website:

Weitere Informationen zu MSDE 2000 finden Sie in folgenden Artikeln der Microsoft Knowledge Base:

319930 wie eine Verbindung zu einer Instanz von SQL Server Desktop Edition oder SQL Server 2005 Express Edition

241397 wie Sichern eine Microsoft Desktop Engine-Datenbank mit Transact-SQL
Eigenschaften

Artikelnummer: 325003 – Letzte Überarbeitung: 16.01.2017 – Revision: 2

Feedback