设为首页 收藏本站
查看: 957|回复: 0

[经验分享] 38. SQL -- 自动维护计划和管理表

[复制链接]

尚未签到

发表于 2018-10-23 08:37:15 | 显示全部楼层 |阅读模式
  动维护计
  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',>  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'


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-625205-1-1.html 上篇帖子: 基于临时表的SQL优化 下篇帖子: 39. SQL -- 批处理及流程控制语句(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表