【IT168 技术文档】
1. 实现分区数据表
作为AdventureWorks2008 的数据库管理员,您发现Orders 数据表在删除旧数据的同时要进行OLTP数据操作,从而严重制约了性能,并且该数据表变得越来越庞大。通常情况下,用户只需要访问到该表中近一年的数据,但在新数据插入时以及索引重建时,有将近3个小时的时间响应缓慢。因此,我们决定通过分区功能来提高性能。
在此实验场景中,数据涵盖了2003年3季度 (OrderDate >= Jul 01, 2003) 到2004年2季度 (OrderDate < Jul 01, 2004)。首先我们将配置分区数据表的实验场景,并创建分区函数以及分区方案。
打开Partitioning Scripts 解决方案,其中包括此实验所需的10个脚本
1. 在Windows 任务栏中,依次点击Start | All Programs | Microsoft SQL Server 2008 | SQL Server Management Studio.
2. 当 SQL Server Management Studio 打开以后会提示进行连接。在Connect to Server 对话框中,输入如下连接属性并点击Connect.
Server type: Database Engine
Server name: (local)\SQLDEV01
Authentication: Windows Authentication
3. 依次点击File | Open | Project/Solution 然后打开C:\AlwaysOn Labs\Partitioning Lab 文件夹中的PartitioningScripts.ssmssln
4. 在SQL Server Management Studio中如果Solution Explorer 窗口没有打开,请在View 下拉菜单中选择Solution Explorer
5. 在Solution Explorer 窗口中可以看到1个解决方案中有3个项目。解决方案名为 ‘PartitioningScripts’ 而3个项目分别叫做Lab Scripts, Whitepaper Scripts 以及Xtra-ILLExtendedExercises. 此实验中我们将主要使用Lab Scripts
为分区数据表创建文件和文件组
1. 在Lab Scripts 项目中,双击Script1 – AddFilegroups.sql
2. 点击Query 菜单,确保选中SQLCMD Mode
3. 在脚本中选中并执行如下语句,创建实验过程中所需的文件夹:
!!mkdir C:\AdventureWorks2008Test . . .
4. 在脚本的第30-51行,我们将创建AdventureWorks2008 数据库的一个副本,并将其命名为AdventureWorks2008Test. 执行如下语句:
TO DISK = N'C:\Ad...Original.BAK'
WITH INIT, STATS = 10
GO
RESTORE DATABASE [AdventureWorks2008Test]
FROM DISK = N'C:\Ad...Original.BAK'
WITH FILE = 1,
MOVE N'AdventureWorks2008_Data'
TO N'C:\...TestData.mdf'
, MOVE N'AdventureWorks2008_Log'
TO N'C:\... TestLog.ldf'
, MOVE N'FileStreamDocuments'
TO N'C:\...FileStream.Documents'
, NOUNLOAD, STATS = 10
GO
新数据库创建完成之后,我们接下来要为其创建文件和文件组。此实验中我们将根据文件组所存放数据的时间来对其进行命名。