码迷,mamicode.com
首页 > 数据库 > 详细

38. SQL -- 自动维护计划和管理表

时间:2015-04-05 06:46:51      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:数据库管理   自动维护计划   

 

自动维护计划

1)、启用SQL SERVERXP 代理服务 → SQL SERVER AGENT → 启动

2)、创建维护计划:

SQL SERVER → 管理→ 维护计划(maintenancePlans)

常用任务:

 

备份数据库

check Database Integrity Task:检查数据库的完整性

History cleanup Task: 清除历史记录,历史记录类型:备份、作业、维护计划

maintenance cleanup task:清除维护任务

rebuild index task:在数据表中重新生成索引

shrink databae task:收缩数据库

update statistic task:更新统计信息

 

管理表

创建表的目的在于利用表存储和管理数据。数据表的更新包括插入、删除、修改(也称为更新)三种操作

数据库管理

A、创建数据库TEST_DB,

CREATE DATABASE [test_db]

ON PRIMARY

(

NAME = N‘test_db‘,

FILENAME = N‘C:\ProgramFiles\Microsoft SQL

Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test_db.mdf‘,

SIZE = 5MB ,

FILEGROWTH = 1MB

)

LOG ON

(

NAME = N‘test_db_log‘,

FILENAME = N‘C:\ProgramFiles\Microsoft SQL

Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test_db_log.ldf‘, SIZE = 1024KB ,

FILEGROWTH = 10%)

GO

修改数据库,创建三个文件组,FG1,FG2,FG3

ALTER DATABASE [test_db] ADD FILEGROUP [FG1]

GO

ALTER DATABASE [test_db] ADD FILEGROUP [FG2]

GO

ALTER DATABASE [test_db] ADD FILEGROUP [FG3]

GO

B、修改数据库,创建三个文件,f1,f2,f3,并对应FG1,FG2,FG3

ALTER DATABASE [test_db]

ADD FILE

(

NAME = N‘f1‘,

FILENAME = N‘C:\ProgramFiles\Microsoft SQL

Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\f1.ndf‘,

SIZE = 2048KB ,

FILEGROWTH = 1024KB

)

TO FILEGROUP [FG1]

GO

ALTER DATABASE [test_db]

ADD FILE

(

NAME = N‘f2‘,

FILENAME = N‘C:\ProgramFiles\Microsoft SQL

Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\f2.ndf‘,

SIZE = 2048KB ,

FILEGROWTH = 1024KB

)

TO FILEGROUP [FG2]

GO

ALTER DATABASE [test_db]

ADD FILE

(

NAME = N‘f3‘,

FILENAME = N‘C:\ProgramFiles\Microsoft SQL

Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\f3.ndf‘,

SIZE = 2048KB ,

FILEGROWTH = 1024KB

)

TO FILEGROUP [FG3]

GO

创建数据表

A、从mydb 数据库中,将表timerecords 创建一份备份到demo_db 数据库中以下语句创建的表格等同于mydb 数据库中表timerecords 中的内容

use demo_db

go

select *

into timerecords

from mydb.dbo.TimeRecords

创建一份无数据但格式相同的表格:

select *

into timerecords

from mydb.dbo.TimeRecords

where 1 = 2

在where后指定一个不成立的条件即可.

若从不同服务器的数据库上导入数据表,需先对服务器进行服务器链接.

服务器级 → 服务器对象 → 链接服务器 → 新建链接服务器创建一份备份临时表:

select *

into #timerecords

from timerecords

一次插入多行数据:在表orders 中一次插入2 条数据

use demo_db

go

insert into Orders

values

(‘p01‘,‘2011-08-15‘,‘cisco‘,‘USA‘,‘5000‘),

(‘p02‘,‘2011-08-16‘,‘microsoft‘,‘USA‘,‘6000‘)

select * from sys.columns

where object_id = object_id(‘orders‘)

用于查询表employee 的列顺序,在insert 时,字段顺序需按照配置时进行插入

select * from sys.objects 查询系统对象

select * from sys.data_spaces 查询系统数据空间

select * from sys. 查询系统信息

数据表更新

A、将Orders 表中address 列的值全部改为CH

update Orders

set carrency = ‘CH‘

B、根据条件对数据进行修改:将orders 表中docno 为P01 的cust 值改为ABC

update orders

set cust = ‘ABC‘

where docno = ‘p01‘

C、将表orders 中的cust 设为空值

update Orders

set cust = ‘‘

D、从mydb 数据库中orders 表恢复列cust 的值到demo_db 数据库中orders

selecta.emp_id,b.card_id,a.card_id

--update Orders

--set cust = b.cust

from demo_db.dbo.Orders a join mydb.dbo.orders b

on a.docno = b.docno

一般在更改数据前,一定要执行查询操作

确认OK 后,再进行数据更改

E、基于子查询对数据进行更改:针对mydb 数据库中orders 表中不存在的cust 值,更改demo_db 数据库中orders 表中列cust 的值为bc

select * from orders

--update Orders

--set cust = ‘bc‘

where cust

not in (

select cust

from mydb.dbo.orders)

删除数据

delete Orders

where cust = ‘ABC‘


本文出自 “Ricky's Blog” 博客,请务必保留此出处http://57388.blog.51cto.com/47388/1628997

38. SQL -- 自动维护计划和管理表

标签:数据库管理   自动维护计划   

原文地址:http://57388.blog.51cto.com/47388/1628997

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!