Readme_AdventureWorksScripts
In Microsoft SQL Server 2005 sind Skripts in der Datei SQLServerEngineSamples.msi verfügbar. Diese Skripts bieten zwei Möglichkeiten zum Verwenden der Schemas in der AdventureWorks-Beispieldatenbank.
Szenario
In SQL Server 2005 sind Tabellen und andere Objekte mit Schemabereich in Schemas enthalten. Besitzer dieser Schemas sind Benutzer. In AdventureWorks werden fünf Schemas verwendet, die Objekte mit Schemabereich beinhalten, die auf Geschäftsfunktionalität basieren. Kunden- und umsatzbezogene Objekte sind beispielsweise im Sales-Schema enthalten, mitarbeiterbezogene Objekte sind im HumanResources-Schema enthalten usw. Weitere Informationen finden Sie unter "Schemas in AdventureWorks" in der SQL Server-Onlinedokumentation.
Durch die Hinzufügung von Schemas ändert sich die Art und Weise, in der Sie auf Tabellen und andere Objekte mit Schemabereich zugreifen. Zum Zugreifen auf Objekte, die sich nicht im Standardschema (DB) befinden, muss mindestens ein zweiteiliger Bezeichner im Format schema_name**.**object_name angegeben werden. Dies trifft für alle DDL- und DML-Anweisungen zu, die auf Objekte mit Schemabereich verweisen.
Die in diesem Beispiel enthaltenen Skripts stellen Alternativen zur Arbeit mit Objekten mit Schemabereich dar. Eine Alternative überträgt alle Objekte mit Schemabereich in das dbo-Schema, und die andere erstellt Synonyme für jedes im dbo-Schema enthaltene Objekt mit Schemabereich.
Sprachen
Transact-SQL
Features
Die AdventureWorks-Skripts verwenden die folgenden Features von SQL Server 2005-Datenbankmodul.
Anwendungsbereich | Features |
---|---|
Datenbankmodul |
Schema-DDL |
Datenbankmodul |
Synonyme |
Voraussetzungen
Bevor Sie eines der beiden in diesem Beispiel enthaltenen Skripts ausführen, installieren Sie SQL Server 2005. Stellen Sie dabei sicher, dass die folgenden Komponenten installiert werden:
- Datenbankmodul
- SQL Server Management Studio
- Die AdventureWorks-Datenbank, die im Lieferumfang von SQL Server 2005 enthalten und auch auf der SQL Server Developer-Website verfügbar ist.
- Die Beispiele zu SQL Server 2005-Datenbankmodul. Diese Beispiele sind in SQL Server 2005 enthalten. Sie können die aktuelle Version der Beispiele von der SQL Server Developer-Website downloaden.
Übertragen von Objekten in das dbo-Schema
Das AlterSchemaToDbo.sql-Skript überträgt jedes in AdventureWorks enthaltene Objekt mit Schemabereich in das dbo-Schema. Nach dem Ausführen dieses Skripts ist es nicht notwendig, dass Benutzer mit einem dbo-Standardschema beim Verweisen auf diese Objekte in DDL- und DML-Anweisungen den zweiteiligen Bezeichner verwenden.
Wichtig: |
---|
Die Codebeispiele und Beispiele in SQL Server 2005 können nach dem Ausführen von AlterSchemaToDbo.sql nur ausgeführt werden, wenn die im Code angegebenen Schemanamen entweder durch dbo ersetzt oder vollständig entfernt werden. |
Das Skript AlterSchemaFromDbo.sql überträgt die Objekte aus dem dbo-Schema in die Schemas, in denen sich die Objekte vor dem Ausführen des Skripts AlterSchemaToDbo.sql befanden bzw. gibt diese an sie zurück.
Ausführen der Skripts zur Übertragung an das und vom dbo-Schema
Im folgenden Verfahren wird gezeigt, wie Sie ein Transact-SQL-Skript ausführen, das AdventureWorks-Objekte mit Schemabereich auf das dbo-Schema überträgt.
So führen Sie das Skript AlterSchemaToDbo aus
- Öffnen Sie in SQL Server Management Studio das Skript AlterSchemaToDbo.sql, das im Ordner C:\Programme\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts gespeichert ist, und klicken Sie anschließend auf Ausführen.
Im folgenden Verfahren wird gezeigt, wie Sie das Transact-SQL-Skript ausführen, das AdventureWorks-Objekte mit Schemabereich vom dbo-Schema an deren ursprüngliches Schema zurückgibt.
So führen Sie das Skript AlterSchemaFromDbo aus
- Öffnen Sie in SQL Server Management Studio das Skript AlterSchemaFromDbo.sql, das im Ordner C:\Programme\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts gespeichert ist, und klicken Sie anschließend auf Ausführen.
Verwenden von Synonymen
Ein Synonym ist ein alternativer Name für ein Objekt mit Schemabereich. Das Synonym wird anstelle des Basisobjekts in DDL- und DML-Anweisungen angegeben.
Das Skript CreateSynonymsDbo.sql erstellt ein Synonym für jedes in AdventureWorks enthaltene Objekt mit Schemabereich. Der Name des Synonyms ist gleich mit dem Namen des Basisobjekts, verwendet jedoch das dbo-Schema. So ist dbo.Department beispielsweise das Synonym für HumanResources.Department.
Das Verwenden von Synonymen hat die folgenden Vorteile:
- Ist dbo das Standardschema, wird kein zweiteiliger Bezeichner zur Angabe dieser Objekte in DDL- und DML-Anweisungen benötigt.
- Die Codebeispiele und Beispiele in SQL Server 2005 können ohne Änderung übernommen werden.
Mithilfe des Skripts DropSynonymsDbo.sql werden die vom Skript CreateSynonymsDbo.sql erstellten Synonyme gelöscht.
Ausführen der Synonymskripts
Das folgende Verfahren zeigt, wie Sie das Transact-SQL-Skript ausführen, das für jedes AdventureWorks-Objekt mit Schemabereich Synonyme im dbo-Schema erstellt.
So führen Sie das CreateSynonymsDbo aus
- Öffnen Sie in SQL Server Management Studio das Skript CreateSynonymsDbo.sql, das im Ordner C:\Programme\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts gespeichert ist, und klicken Sie anschließend auf Ausführen.
Im folgenden Verfahren wird gezeigt, wie Sie das Transact-SQL-Skript ausführen, das die vom Skript CreateSynonymsDbo.sql erstellten Synonyme aus der Datenbank entfernt.
So führen Sie das Skript DropSynonymsDbo aus
- Öffnen Sie in SQL Server Management Studio das Skript DropSynonymsDbo.sql, das im Ordner C:\Programme\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts gespeichert ist, und klicken Sie anschließend auf Ausführen.
Entfernen der Skripts
Mithilfe des folgenden Verfahrens können Sie ein oder mehrere Skripts entfernen, die in diesem Beispiel enthalten sind.
So entfernen Sie die Skripts
- Navigieren Sie im Windows-Explorer zum Ordner C:\Programme\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts, klicken Sie mit der rechten Maustaste auf den Skriptnamen, und klicken Sie auf Löschen.