码迷,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

修改数据建三个文件FG1FG2FG3

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,对应FG1FG2FG3

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
迷上了代码!