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 语句中引用这些对象时,将不必使用两部分组成的标识符。
重要提示: |
---|
执行 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 文件夹,右键单击脚本名称,然后单击**“删除”**。