第一章 第一节 SQL Server 数据库规划和分区技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1数据库

1.1.1创建

CREATE DATABASE name

[ [ WITH ][ OWNER [=]user_name ]

[ TEMPLATE [=]template ]

[ ENCODING [=]encoding ]

[ LC_COLLATE [=]lc_collate ]

[ LC_CTYPE [=]lc_ctype ]

[ TABLESPACE [=]tablespace_name ]

[ CONNECTION LIMIT [=]connlimit ] ]

1.1.2删除

DROP DATABASE db_name01

1.1.3修改

1.1.3.1查看当前的存放位置

select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files where database_id=db_id(N'数据库名');

1.1.3.2修改默认的数据库文件存放位置(即时生效)

EXEC xp_instance_regwrite

@rootkey='HKEY_LOCAL_MACHINE',

@key='Software\Microsoft\MSSQLServer\MSSQLServer',

@value_name='DefaultData',

@type=REG_SZ,

@value='E:\MSSQL_MDF\data'

GO

1.1.3.3修改默认的日志文件存放位置(即时生效)

EXEC master..xp_instance_regwrite

@rootkey='HKEY_LOCAL_MACHINE',

@key='Software\Microsoft\MSSQLServer\MSSQLServer',

@value_name='DefaultLog',

@type=REG_SZ,

@value='E:\MSSQL_MDF\log'

GO

1.1.3.4修改数据库文件自动增长

ALTER DATABASE db_003MODIFY FILE (NAME=N'db_003a',FILEGROWTH= 10%)

ALTER DATABASE db_016MODIFY FILE (NAME=N'db_016',maxsize= UNLIMITED)

1.1.3.5重命名数据库

EXEC sp_dboption'OldDbName','Single User','TRUE'

EXEC sp_renamedb'OldDbName','NewDbName'

EXEC sp_dboption'NewDbName','Single User','FALSE'

1.1.3.6向数据库添加数据文件或日志文件

USE master

GO

ALTER DATABASE db_test

ADD FILEGROUP Test1FG1;

GO

ALTER DATABASE db_test

ADD FILE

(

NAME=test1dat3,

FILENAME='d:\MSSQLSERVER\DATA\t1dat3.ndf',

SIZE= 5MB,

MAXSIZE= 100MB,

FILEGROWTH= 5MB

),

(

NAME=test1dat4,

FILENAME='d:\MSSQLSERVER\DATA\t1dat4.ndf',

SIZE= 5MB,

MAXSIZE= 100MB,

FILEGROWTH= 5MB

)

TO FILEGROUP Test1FG1;

GO

1.1.3.7数据库规划和分区技术(新建)

第一步:首先建立我们要使用的数据库,最重要的是建立多个文件组

我们先新建立四个目录,来组成文件组,一个用来存放主文件的目录:Primary

三个数据文件目录:FG1、FG2、FG3

建立库:

create database Sales on primary

(

name=N'Sales',

filename=N'C:\data\Primary\Sales.mdf',

size=3MB,

maxsize=100MB,

filegrowth=10%

),

filegroup FG1

(

NAME=N'File1',

FILENAME=N'C:\data\FG1\File1.ndf',

SIZE= 1MB,

MAXSIZE= 100MB,

FILEGROWTH= 10%

),

FILEGROUP FG2

(

NAME=N'File2',

FILENAME=N'C:\data\FG2\File2.ndf',

SIZE= 1MB,

MAXSIZE= 100MB,

FILEGROWTH= 10%

),

FILEGROUP FG3

(

NAME=N'File3',

FILENAME=N'C:\data\FG3\File3.ndf',

SIZE= 1MB,

MAXSIZE= 100MB,

FILEGROWTH= 10%

)

LOG ON

(

NAME=N'Sales_Log',

FILENAME=N'C:\data\Primary\Sales_Log.ldf',

SIZE= 1MB,

MAXSIZE= 100MB,

FILEGROWTH= 10%

)

GO

第二步:建立分区函数

目的是用来规范不同数据存放到不同目录的标准,简单讲就是如何分区。USE Sales

GO

CREATE PARTITION FUNCTION pf_OrderDate(datetime)

AS RANGE RIGHT

FOR VALUES ('2003/01/01','2004/01/01')

GO

第三步:创建分区方案,关联到分区函数

目的就是我们将已经建立好的分区函数组织成一套方案,简单点将就是我们在哪里对数据进行分区。

创建分区方案的Transact-SQL语法:

CREATE PARTITION SCHEME partition_scheme_name

AS PARTITION partition_function_name

[ ALL ] TO ( { file_group_name | [ PRIMARY ] } [ ,...n ] )

[ ; ]

参数:

partition_scheme_name:分区方案的名称。分区方案名称在数据库中必须是唯一的,并且符合标识符规则。

partition_function_name:使用分区方案的分区函数的名称。分区函数

相关文档
最新文档