1.数据库备份的方法:

完整数据库备份GPOSDB 文件大小:23MB  日志备份 GPOSDB日志备份文件大小:211KB
--完整备份
 Backup DATABASE GPOSDB
To disk='D:\GPOSDB_backup_201207160152.bak'

--还原

restore database 数据库 from disk='c:\abc.bak' WITH replace

2.收缩数据库的大小的方法

   数据文件:建立聚集索引,或者重建索引,然后shrinkfile 收缩数据文件
日志文件:数据库恢复模式不能是简单要大容量日志或者完整 ,
定期备份事务日志,才能截断事务日志 3.设置数据库自动增长注意要点
-1要设置成按固定大小增长,而不能按比例  对于小的数据库,设置一次增长50MB到100MB,大的数据库,一次增长100MB到200MB
--2要定期监测各个数据文件的使用情况,尽量保证每个文件剩余的空间一样大或者是期望的比例
--3设置文件最大值
--4发生增长后,要及时检查文件空间分配情况,避免SQL总是往个别文件写数据 4.模仿灾难发生时还原adventurework数据库 示例 stopat
 --模仿灾难发生时还原adventurework数据库 示例 stopat

  BACKUP DATABASE AdventureWorks
TO DISK= 'D:\MSSQL\Databackup\AdventureWorks.bak' BACKUP LOG AdventureWorks
TO DISK ='D:\MSSQL\Databackup\AdventureWorks.trn'
GO
--灾难发生后,试图创建一个尾日志备份
BACKUP LOG AdventureWorks
TO DISK='D:\MSSQL\Databackup\AdventureWorkstail.trn'
WITH norecovery;
GO
--------------------------------------
--用界面的话这两步一起完成
--从备份恢复一个全备份
RESTORE DATABASE AdventureWorks
FROM DISK ='D:\MSSQL\Databackup\AdventureWorks.bak'
WITH FILE=1,NORECOVERY --从备份中恢复一个正常的日志备份
RESTORE LOG AdventureWorks
FROM DISK ='D:\MSSQL\Databackup\AdventureWorks.trn'
WITH NORECOVERY; -------------------------------------------------------------- --用stopat 恢复尾日志备份
RESTORE LOG AdventureWorks
FROM DISK='D:\MSSQL\Databackup\AdventureWorkstail.trn'
WITH STOPAT='2012 20:59:00',
RECOVERY;
GO

5.检查日志文件不能被截断的原因

  --检查日志文件不能被截断的原因
SELECT * FROM sys.databases WHERE database_id=9
--SELECT * FROM sys.sysdatabases
--查看日志占用日志文件占用率
DBCC SQLPERF(LOGSPACE)
GO --查看不能截断日志文件的原因
SELECT name,recovery_model_desc,log_reuse_wait,log_reuse_wait_desc
FROM sys.databases
GO --检查最老的活动事务
DBCC OPENTRAN
GO
SELECT st.text,t2.* FROM sys.dm_exec_sessions AS t2,sys.dm_exec_connections AS t1
CROSS APPLY sys.dm_exec_sql_text(t1.most_recent_sql_handle) AS st
WHERE t1.session_id=t2.session_id
AND t1.session_id>50 --如果事务比较久,可以用kill命令杀掉进程
KILL 54

6.检测孤立用户并恢复孤立用户到新的服务器 解决数据库镜像孤立用户问题

 1 --检测孤立用户并恢复孤立用户到新的服务器 解决数据库镜像孤立用户问题
2 --注意:重新链接只能链接SQL登录帐号,不能链接Windows登录帐号
3 --如果不选择重新链接可以使用备份master数据库的方法还原到新的服务器上,可以避免一个数据库有
4 --成千上百个数据库用户的情况
5 SELECT * FROM sys.server_principals
6 SELECT * FROM sys.database_principals
7
8 --检测孤立用户
9 USE GPOSDB --要建立镜像的数据库
10 EXEC sys.sp_change_users_login @Action = 'report', -- varchar(10)
11 @UserNamePattern = NULL, -- sysname
12 @LoginName = NULL, -- sysname
13 @Password = NULL -- sysname
14 GO
15
16 --在服务器新建一个同名的登录帐号 ,例如hengshan,然后重新链接hengshan服务器登录帐户与数据库用户hengshan,将
17 --他们的SID改成一致的
18 USE GPOSDB
19 GO
20 EXEC sys.sp_change_users_login @Action = 'update_one', -- varchar(10)
21 @UserNamePattern = 'hengshan', -- sysname<database_user>
22 @LoginName = 'hengshan', -- sysname<login_name>
23 @Password = 'test' -- sysname 将数据库用户密码跟登录帐号密码都设置为test 这里主库的hengshan用户的密码也是test
24
25
26
27 ---------------SQL2008 AUTO_FIX才有用----------------------------------------------
28
29 USE GPOSDB
30 EXEC sys.sp_change_users_login @Action = 'AUTO_FIX', -- varchar(10)
31 @UserNamePattern =hengshan -- sysname
32
33
34 ------------------------解决数据库镜像孤立用户问题---------------------
35 --在主数据库中执行如下语句:
36 USE master;
37 select sid,name from syslogins;
38
39
40 --查找出相应的数据库用户名和sid,例如:上述的’myuser’
41 --
42 --在备数据库中执行如下语句:
43
44 USE master;
45 exec sp_addlogin
46 @loginame = 'myuser',
47 @passwd = 'test',
48 @sid = 0x074477739DCA0E499C29394FFFC4ADE4
49
50 --这里的’LoginName’即主数据库中的登录名,sid即是上述通过SQL语句查找出的sid。
51 --注意一下密码
52
53 --到此为止可以认为备机数据库的环境已经与主机同步了,还差数据库内的数据未同步

最新文章

  1. 用批处理脚本一键安装 MongoDB
  2. C++使用protobuf传输中间包含\0的字节数组
  3. 一键搭建vpn服务器
  4. 实现TableLayout布局下循环取出TableRow控件中的文字内容到list集合
  5. ECSTORE AJAX提交的实现
  6. HDU Today(dijskra)
  7. Android数据库专家秘籍(七)经验LitePal查询艺术
  8. IFE-20 笔记
  9. 应不应该使用inline-block代替float
  10. golang社区
  11. 神奇的Scala Macro之旅(三)- 实际应用
  12. 10-Python入门学习-函数的对象与嵌套、名称空间与作用域、闭包函数
  13. Saltstack_使用指南01_部署
  14. 第四周作业&amp;&amp;结对编程
  15. 433 模块 ARDUINO测试
  16. Docker: vmware企业级docker镜像私服--Harbor的搭建
  17. 《MySQL:菜鸟入门系列》
  18. PCA和白化练习之处理二维数据
  19. iOS 在不添加库的情况下 通过抽象类来获取自己想要的方法
  20. url rewrite导致的500.19 0x8007000d

热门文章

  1. 学习windows编程 day4 之视口和窗口
  2. css 中ul li 与 ul&gt;li的区别
  3. POJ - 1905 Expanding Rods(二分+计算几何)
  4. sql 储存过程的使用
  5. 【洛谷P1052【NOIP2005提高T2】】过河
  6. [JXOI2018]游戏 (线性筛,数论)
  7. tidb 架构~tidb 理论学习(1)
  8. 之手算KD-tree
  9. c# webbrowser控件内核版本强制修改
  10. Oracle 正则表达式函数-REGEXP_REPLACE