Readme_AdventureWorksScripts

在 Microsoft SQL Server 2005 中,脚本在 SQLServerEngineSamples.msi 中提供,这些脚本提供了两种使用 AdventureWorks 示例数据库中的架构的方法。

应用场景

在 SQL Server 2005 中,表和其他架构作用域对象包含在架构中,架构由用户所有。在 AdventureWorks 中,使用五个架构来包含基于商业功能的架构作用域对象。例如,与客户和销售相关的对象包含在 Sales 架构中;与雇员相关的对象包含在 HumanResources 架构中,等等。有关详细信息,请参阅 SQL Server 联机丛书中的“AdventureWorks 中的架构”。

添加架构将会更改对表和其他架构作用域对象的访问方法。若要访问非默认架构(默认架构为 DB)中的对象,必须至少指定一个两部分组成的标识符,格式为 schema_name**.**object_name。对于引用架构作用域对象的所有 DDL 和 DML 语句也是如此。

包括在此示例中的脚本提供了两种使用架构作用域对象的方法。一种方法是将所有架构作用域对象传输到 dbo 架构,另一种方法是在 dbo 架构中创建架构范围对象的同义词。

语言

Transact-SQL

功能

AdventureWorks 脚本使用以下 SQL Server 2005 数据库引擎的功能。

应用领域 功能

数据库引擎

架构 DDL

数据库引擎

同义词

必备组件

运行此示例中的任何一个脚本之前,请安装 SQL Server 2005 并确保包括以下组件:

  • 数据库引擎
  • SQL Server Management Studio
  • AdventureWorks 数据库,它随 SQL Server 2005 提供,也可以从 SQL Server 开发人员网站获取。
  • SQL Server 2005 数据库引擎 示例。这些示例包含在 SQL Server 2005 中。您可以从 SQL Server 开发人员网站下载这些示例的最新版本。

将对象传输到 dbo 架构

AlterSchemaToDbo.sql 脚本将 AdventureWorks 中的每个架构作用域对象传输到 dbo 架构。运行该脚本后,具有默认 dbo 架构的用户在 DDL 和 DML 语句中引用这些对象时,将不必使用两部分组成的标识符。

ms160959.note(zh-cn,SQL.90).gif重要提示:
执行 AlterSchemaToDbo.sql 后,SQL Server 2005 提供的代码示例和示例将不运行,除非代码中指定的架构名称由 dbo 替换或删除。

AlterSchemaFromDbo.sql 脚本将对象从 dbo 架构传输(返回)到运行 AlterSchemaToDbo.sql 脚本前它们所在的架构。

运行脚本以将对象传输到 dbo 架构或从该架构传输对象

以下过程显示如何运行将 AdventureWorks 架构作用域对象传输到 dbo 架构的 Transact-SQL 脚本。

运行 AlterSchemaToDbo 脚本

  • 在 SQL Server Management Studio 中,打开位于 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 文件夹中的 AlterSchemaToDbo.sql 脚本文件,然后单击**“执行”**。

以下过程显示如何运行将 AdventureWorks 架构作用域对象从 dbo 架构返回到其原始架构的 Transact-SQL 脚本。

运行 AlterSchemaFromDbo 脚本

  • 在 SQL Server Management Studio 中,打开位于 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 文件夹中的 AlterSchemaFromDbo.sql 脚本文件,然后单击**“执行”**。

使用同义词

同义词是为架构作用域对象提供的备选名称。在 DDL 和 DML 语句中指定同义词而不是基对象。

CreateSynonymsDbo.sql 脚本将为 AdventureWorks 中的每个架构作用域对象创建一个同义词。同义词名称与基对象名称相同,但使用 dbo 架构。例如,HumanResources.Department 的同义词是 dbo.Department

使用同义词有以下优点:

  • 如果 dbo 是默认架构,无需使用两部分组成的标识符在 DDL 和 DML 语句中指定这些对象。
  • SQL Server 2005 提供的代码示例和示例可以直接使用,无需修改。

DropSynonymsDbo.sql 脚本将删除由 CreateSynonymsDbo.sql 脚本创建的同义词。

运行同义词脚本

以下过程显示如何运行在 dbo 架构中为每个 AdventureWorks 架构作用域对象创建同义词的 Transact-SQL 脚本。

运行 CreateSynonymsDbo 脚本

  • 在 SQL Server Management Studio 中,打开位于 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 文件夹中的 CreateSynonymsDbo.sql 脚本文件,然后单击**“执行”**。

以下过程显示了如何运行从数据库中删除由 CreateSynonymsDbo.sql 脚本创建的同义词的 Transact-SQL 脚本。

运行 DropSynonymsDbo 脚本

  • 在 SQL Server Management Studio 中,打开位于 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 文件夹中的 DropSynonymsDbo.sql 脚本文件,然后单击**“执行”**。

删除脚本

使用以下过程删除包括在此示例中的脚本。

删除脚本

  • 在 Windows 资源管理器中,找到 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 文件夹,右键单击脚本名称,然后单击**“删除”**。