MSDE 2000 (SQL Server Desktop Engine) of SQL Server 2005 Express Edition beheren met het hulpprogramma Osql

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 325003 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

MSDE 2000 (SQL Server Desktop Engine) heeft geen eigen gebruikersinterface, omdat dit programma voornamelijk is bedoeld om op de achtergrond actief te zijn. De gebruikersinteractie met MSDE 2000 verloopt via het programma waarin het is ingesloten. Het enige hulpprogramma dat bij MSDE 2000 wordt geleverd, is Osql. Het uitvoerbare bestand, Sql.exe, bevindt zich in de map MSSQL\Binn van een standaardsessie van MSDE 2000. In dit artikel wordt beschreven hoe u MSDE 2000 kunt beheren met het hulpprogramma Osql.

Als u SQL Server 2005 gebruikt, kunt u het hulpprogramma osql ook gebruiken om SQL Server 2005 Express Edition te beheren. Deze functie komt echter te vervallen in een toekomstige versie van Microsoft SQL Server 2005. U wordt daarom aangeraden deze functie niet te gebruiken voor nieuw ontwikkelingswerk en u voor te bereiden op het aanpassen van toepassingen die momenteel gebruikmaken van deze functie. U kunt beter gebruikmaken van het hulpprogramma Sqlcmd. Voor meer informatie over het gebruik van Sqlcmd kunt u de volgende MSDN-website (Microsoft Developer Network) bezoeken:
http://msdn2.microsoft.com/en-us/library/ms170207.aspx

Wat is Osql?

Osql is een Microsoft Windows 32-hulpprogramma dat wordt uitgevoerd op de opdrachtprompt en waarmee u Transact-SQL-instructies en scriptbestanden kunt uitvoeren. Het hulpprogramma Osql communiceert met de server via de API (Application Programming Interface) van de ODBC-database.

Hoe gebruikt u Osql?

Het hulpprogramma Osql wordt meestal op de volgende manieren gebruikt:
  • Gebruikers geven Transact-SQL-instructies interactief op, ongeveer zoals bij een opdrachtprompt.
  • Gebruikers geven Osql-taken als volgt op:
    • Afzonderlijke Transact-SQL-instructies. -of-

    • Het hulpprogramma verwijst naar een scriptbestand waarin zich Transact-SQL-instructies bevinden die moeten worden uitgevoerd.

Transact-SQL-instructies interactief opgeven

Als u een lijst met de hoofdlettergevoelige opties van Osql wilt weergeven, typt u het volgende achter een opdrachtprompt en drukt u op Enter:

osql -?

Zie voor meer informatie over de opties van Osql het onderwerp 'osql Utility' op de website SQL Server Books Online.

Ga als volgt te werk om Transact-SQL-instructies interactief op te geven:

  1. Controleer of MSDE 2000 actief is.
  2. Maak verbinding met MSDE 2000 (zie voor meer informatie het onderdeel 'Verbinding maken met MSDE 2000 (SQL Server Desktop Engine)').
  3. Typ de gewenste Transact-SQL-instructies achter de osql-prompt en druk op Enter. Wanneer u aan het einde van elke invoerregel op Enter drukt, worden de instructies op die regel door Osql in het cachegeheugen geplaatst.

    • Als u de instructies in het cachegeheugen wilt uitvoeren, typt u 'Go' en drukt u op Enter.

    • Als u een reeks Transact-SQL-instructies wilt uitvoeren, geeft u de Transact-SQL-opdrachten eerst elk op een afzonderlijke regel op. Vervolgens typt u op de laatste regel 'Go' om aan te geven dat de reeks is voltooid en de instructies in het cachegeheugen kunnen worden uitgevoerd.

    Het resultaat wordt in het consolevenster weergegeven.

  4. Als u osql wilt afsluiten, typt u QUIT of EXIT en drukt u op Enter.

Een Osql-taak opgeven

Een Osql-taak kan op twee manieren worden opgegeven. U kunt:
  • Eén Transact-SQL-instructie opgeven.

    -of-

  • Het hulpprogramma naar een scriptbestand laten verwijzen.
Hieronder vindt u meer informatie over beide methoden.

Eén Transact-SQL-instructie opgeven

Als u een Transact-SQL-instructie op de lokale standaardsessie van MSDE 2000 wilt uitvoeren, typt u een opdracht zoals deze:

osql -E -q "Transact-SQL-instructie"

waarbij

  • -E gebruikmaakt van Microsoft Windows NT-verificatie.

    -en-

  • -q de Transact-SQL-instructie uitvoert, maar Osql niet wordt afgesloten wanneer de query is voltooid.
Als u wilt dat Osql wordt afgesloten nadat de Transact-SQL-instructie is uitgevoerd, gebruikt u het argument -Q in plaats van -q.

Het hulpprogramma naar een scriptbestand laten verwijzen

Ga als volgt te werk als u het hulpprogramma naar een scriptbestand wilt laten verwijzen:
  1. Maak een scriptbestand dat een reeks Transact-SQL-instructies bevat (bijvoorbeeld MijnQuerys.sql).
  2. Open een opdrachtprompt, typ een opdracht als de volgende en druk op Enter:

    osql -E -i invoerbestand

    waarbij

    invoerbestand het volledige pad naar het scriptbestand is. Als u bijvoorbeeld het scriptbestand MijnQuerys.sql hebt in de map C:\Querys, vervangt u invoerbestand door C:\Querys\MijnQuerys.sql.

    Het resultaat van het scriptbestand wordt weergegeven in het consolevenster. Als u de resultaten wilt doorsturen naar een bestand, voegt u het argument -ouitvoerbestand toe aan de bovenstaande opdracht. Bijvoorbeeld:

    osql -E -i invoerbestand -o uitvoerbestand

    waarbij

    uitvoerbestand het volledige pad naar het uitvoerbestand is.

    Als u de nummering en prompttekens niet in het uitvoerbestand wilt, voegt u de optie -n toe aan de opdracht hierboven. Bijvoorbeeld:

    osql -E -i invoerbestand -o uitvoerbestand -n

Verbinding maken met MSDE 2000 (SQL Server Desktop Engine)

Ga als volgt te werk om verbinding te maken met MSDE 2000:
  1. Controleer of MSDE 2000 actief is.
  2. Open een opdrachtprompt op de computer waarop de MSDE 2000-sessie waarmee u verbinding wilt maken, actief is.
  3. Typ de volgende opdracht en druk vervolgens op Enter:

    osql -E

    U wordt via Windows-verificatie verbonden met de lokale standaardsessie van MSDE 2000.

    Als u verbinding wilt maken met een benoemde sessie van MSDE 2000, typt u:

    osql -E -S servernaam\sessienaam

    Als het volgende foutbericht wordt weergegeven, is MSDE 2000 mogelijk niet actief of hebt u een onjuiste naam voor de benoemde sessie van MSDE 2000 opgegeven:
    [Gedeeld geheugen] De SQL-server bestaat niet of de toegang tot de server is geweigerd.
    [Shared Memory][ConnectionOpen (Connect()).]
    Wanneer de verbinding met de server tot stand is gebracht, wordt de volgende prompt weergegeven:

       1>
    						
    Deze prompt geeft aan dat Osql is gestart. U kunt nu interactief Transact-SQL-instructies opgeven, waarna het resultaat op de opdrachtpromptregel wordt weergegeven.

MSDE 2000 beheren

In de resterende secties van dit artikel vindt u een overzicht van de Transact-SQL-opdrachten die meestal worden gebruikt voor het beheren van MSDE 2000.

Een nieuwe aanmeldingsaccount maken

Gebruikers kunnen geen verbinding met SQL Server maken zonder een geldige aanmeldings-id. Met de opgeslagen procedure sp_grantlogin worden Microsoft Windows-netwerkaccounts geverifieerd (groeps- of gebruikersaccounts) als SQL Server-aanmeldingsnaam voor aanmelding bij een SQL Server-sessie via Windows-verificatie. In het voorbeeld hieronder krijgt een Windows NT-gebruiker met de naam Corporate\Test toestemming om verbinding te maken met SQL Server:
EXEC sp_grantlogin 'Corporate\Test'
				
Alleen leden van de vaste serverrollen sysadmin en securityadmin kunnen de opgeslagen procedure sp_grantlogin uitvoeren. Zie voor meer informatie over rollen het onderwerp 'Roles, SQL Server Architecture' op de website SQL Server Books Online.

Zie voor meer informatie over de opgeslagen procedure sp_grantlogin het onderwerp 'sp_grantlogin, Transact-SQL Reference' op de website SQL Server Books Online.

Gebruik de opgeslagen procedure sp_addlogin om een nieuwe aanmeldingsaccount te maken voor SQL Server-verbindingen met SQL Server-verificatie. In het voorbeeld hieronder wordt een SQL Server-aanmeldingsaccount gemaakt voor een gebruiker met de naam 'test' en het wachtwoord 'hallo':
EXEC sp_addlogin 'test','hallo'
				
Alleen leden van de vaste serverrollen sysadmin en securityadmin kunnen de opgeslagen procedure sp_addlogin uitvoeren. Zie voor meer informatie over de opgeslagen procedure sp_addlogin het onderwerp 'sp_addlogin, Transact-SQL Reference' op de website SQL Server Books Online.

Toegang verkrijgen tot een database

Een gebruiker die verbinding heeft gemaakt met SQL Server, kan pas handelingen in de database uitvoeren wanneer de dbo toegang tot de database verschaft. U kunt met de opgeslagen procedure sp_grantdbaccess een beveiligingsaccount voor een nieuwe gebruiker toevoegen aan de huidige database. In het voorbeeld hieronder wordt een account voor een Microsoft Windows NT-gebruiker met de naam Centraal\BenJ toegevoegd aan de huidige database, waarbij de account de naam 'Ben' krijgt:
EXEC sp_grantdbaccess 'Centraal\BenJ', 'Ben'
				

De opgeslagen procedure sp_adduser heeft dezelfde functie als de opgeslagen procedure sp_grantdbaccess. Aangezien de opgeslagen procedure sp_adduser is toegevoegd omwille van achterwaartse compatibiliteit, wordt u aangeraden de opgeslagen procedure sp_grantdbacess te gebruiken.

Alleen leden met de vaste serverrol sysadmin en de databaserollen db_accessadmin en db_owner kunnen de opgeslagen procedure sp_grantdbaccess uitvoeren. Zie voor meer informatie over de opgeslagen procedure sp_grantdbaccess het onderwerp 'sp_grantdbaccess, Transact-SQL Reference' op de website SQL Server Books Online.

Het wachtwoord van een aanmeldingsaccount wijzigen

Als u het wachtwoord van een aanmeldingsaccount wilt wijzigen, gebruikt u de opgeslagen procedure sp_password. In het voorbeeld hieronder wordt het wachtwoord van de aanmeldingsaccount 'test' gewijzigd van 'ok' in 'hallo':
EXEC sp_password 'ok', 'hallo','test'
				

De machtiging EXEC wordt standaard toegewezen aan de openbare rol van een gebruiker die het wachtwoord van zijn of haar aanmeldingsaccount wijzigt. Alleen leden met de rol sysadmin kunnen het wachtwoord voor de aanmeldingsaccount van een andere gebruiker wijzigen. Zie voor meer informatie over de opgeslagen procedure sp_password het onderwerp 'sp_password, Transact-SQL Reference' op de website SQL Server Books Online.

Een database maken

Een MSDE 2000-database bestaat uit een verzameling tabellen met gegevens en andere objecten, zoals weergaven, indexen, opgeslagen procedures en triggers, die zijn bedoeld ter ondersteuning van de handelingen die met de gegevens worden uitgevoerd. Als u een MSDE 2000-database wilt maken, gebruikt u de Transact-SQL-opdracht CREATE DATABASE. Zie voor meer informatie over het maken van een database het onderwerp 'Creating a Database' op de website SQL Server Books Online.

In het voorbeeld hieronder wordt een database met de naam Test gemaakt. Omdat er geen parameters aan de opdracht zijn toegevoegd, wordt de database Test even groot als de model-database:
CREATE DATABASE Test
				
De machtiging CREATE DATABASE wordt standaard toegewezen aan leden met de vaste serverrollen sysadmin en dbcreator. Zie voor meer informatie over de opdracht CREATE DATABASE het onderwerp 'CREATE DATABASE, Transact-SQL Reference' op de website SQL Server Books Online.

Als u een nieuw databaseobject wilt maken, gebruikt u de Transact-SQL-opdracht CREATE. Gebruik bijvoorbeeld de Transact-SQL-opdracht CREATE TABLE als u een nieuwe tabel wilt maken. Zie voor meer informatie de website SQL Server Books Online.

Een back-up van een database maken en de database terugzetten

De SQL Server-component voor het maken van reservekopieën en het terugzetten van gegevens biedt een krachtige beveiliging voor belangrijke gegevens die in SQL Server-databases zijn opgeslagen.

Met de juiste planning kunt u vele problemen verhelpen, waaronder:
  • Mediafouten
  • Gebruikersfouten
  • Permanent verlies van een server
Het maken van een reservekopie en het terugzetten van een database is bovendien nuttig voor andere doeleinden, zoals het kopiëren van een database van de ene server naar de andere. Door een reservekopie van een database op de ene computer te maken en deze terug te zetten op een andere computer, hebt u snel en gemakkelijk een kopie van de database.

Zie voor meer informatie over het maken van een reservekopie en het terugzetten van een database het onderwerp 'Backing Up and Restoring Databases' op de website SQL Server Books Online.

In het voorbeeld hieronder wordt een volledige kopie gemaakt van een database met de naam mijndb. De reservekopie krijgt de naam Mijndb.bak en wordt opgeslagen in de map C:\Msde\Backup:

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

In het voorbeeld hieronder wordt een volledige logboekkopie gemaakt van een database met de naam mijndb. De reservekopie krijgt de naam Mijndb_log.bak en wordt opgeslagen in de map C:\Msde\Backup:

BACKUP LOG mijndb TO DISK = 'C:\MSDE\Backup\mijndb_log.bak'
				

De machtigingen BACKUP DATABASE en BACKUP LOG worden standaard toegewezen aan leden met de vaste serverrol sysadmin en de vaste databaserollen db_owner en db_backupoperator. Zie voor meer informatie over de opdracht BACKUP het onderwerp 'BACKUP, Transact-SQL Reference' op de website SQL Server Books Online.


MSDE bevat de service SQL Server Agent voor het beheren van geplande taken. Zo kunt u een Transact-SQL-taak maken en plannen voor het maken van een reservekopie. De taakplanning wordt beheerd door SQL Server Agent. Als u in voorbeeldcode wilt zien hoe u opgeslagen procedures in MSDE 2000 kunt gebruiken om een reservekopie te maken en te plannen, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
241397Een back-up maken van een MSDE-database (Microsoft Desktop Engine) met Transact-SQL
Zie voor meer informatie over de service SQL Server Agent het onderwerp 'SQL Server Agent Service' op de website SQL Server Books Online.

Het maken van de reservekopie van de database is maar de helft van de procedure. Het is belangrijk om te weten hoe u de database terugzet met behulp van de reservekopie. In het voorbeeld hieronder wordt een database met de naam mijndb teruggezet met behulp van het reservekopiebestand C:\Msde\Backup\mijndb.bak:

RESTORE DATABASE mijndb FROM DISK ='C:\MSDE\Backup\mijndb.bak'
				
Als de database die wordt teruggezet niet bestaat, moet de gebruiker beschikken over de machtiging CREATE DATABASE om de instructie RESTORE te kunnen uitvoeren. Bestaat de database wel, dan wordt de machtiging RESTORE standaard toegewezen aan leden met de vaste serverrollen sysadmin en dbcreator, en de eigenaar (dbo) van de database. Zie voor meer informatie over de instructie RESTORE het onderwerp 'RESTORE, Transact-SQL Reference' op de website SQL Server Books Online.

Een database koppelen en ontkoppelen

De gegevensbestanden en transactielogboekbestanden van een database kunnen worden ontkoppeld en vervolgens aan een andere server of zelfs aan dezelfde server worden gekoppeld. Wanneer een database wordt ontkoppeld, wordt deze uit SQL Server verwijderd. De database blijft echter intact in de gegevens- en transactielogboekbestanden waarmee de database wordt samengesteld. Vervolgens kunt u de gegevens- en transactielogboekbestanden gebruiken om de database te koppelen aan elke gewenste sessie van SQL Server, inclusief de server waarvan de database is ontkoppeld. De database is dan weer beschikbaar in exact dezelfde staat als toen deze werd ontkoppeld. Zie voor meer informatie het onderwerp 'Attaching and Detaching a Database' op de website SQL Server Books Online.

In het voorbeeld hieronder wordt een database met de naam mijndb ontkoppeld van de huidige sessie van SQL Server:
EXEC sp_detach_db 'mijndb'
				
Alleen leden met de vaste serverrol sysadmin kunnen de opgeslagen procedure sp_detach_db uitvoeren. Zie voor meer informatie over de opgeslagen procedure sp_detach_db het onderwerp 'sp_detach_db, Transact-SQL Reference' op de website SQL Server Books Online.

In het voorbeeld hieronder worden twee bestanden uit een database met de naam mijndb gekoppeld aan de huidige sessie van SQL Server:
EXEC sp_attach_db @dbname = N'mijndb', 
   @filename1 = N'C:\MSDE\Backup\mijndb.mdf', 
   @filename2 = N'C:\MSDE\Backup\mijndb.ldf'
				
De hoofdletter N gaat vooraf aan een Unicode-tekenreeksconstante. Het voorvoegsel 'N' staat in de SQL 92-standaard voor National Language. Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie:
239530INF: Unicode-tekenreeksconstanten in SQL Server vereisen het voorvoegsel N
Alleen leden met de vaste serverrollen sysadmin en dbcreator kunnen deze procedure uitvoeren. Zie voor meer informatie over de opgeslagen procedure sp_attach_db het onderwerp 'sp_attach_db, Transact-SQL Reference' op de website SQL Server Books Online.

De volgende informatie over het gebruik van het hulpprogramma Osql is ook van toepassing op alle versies van Microsoft SQL Server 2000.

Referenties

Bezoek de volgende Microsoft-website om de meest recente versie van SQL Server 2000 Books Online te downloaden:
http://www.microsoft.com/sql/techinfo/books.mspx
Bezoek de volgende Microsoft-website om SQL Server 7.0 van SQL Server Books Online te downloaden:
http://download.microsoft.com/download/SQL70/File/2/Win98/En-US/SQLBOL.exe
Als u meer informatie wilt over MSDE 2000, klikt u op de volgende artikelnummers in de Microsoft Knowledge Base:
319930Verbinding maken met een exemplaar van SQL Server Desktop Edition of SQL Server 2005 Express Edition
241397Een back-up maken van een MSDE-database (Microsoft Desktop Engine) met Transact-SQL

Eigenschappen

Artikel ID: 325003 - Laatste beoordeling: maandag 23 april 2007 - Wijziging: 2.2
De informatie in dit artikel is van toepassing op:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3a
Trefwoorden: 
kbdownload kbhowtomaster KB325003
Vrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com