SqlServer基础语法(三)
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 --到此为止可以认为备机数据库的环境已经与主机同步了,还差数据库内的数据未同步
SqlServer基础语法(三)的更多相关文章
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- 从零开始学 Web 之 ES6(五)ES6基础语法三
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- SqlServer基础语法
历史 有很多软件公司开发了数据库产品,其中微软公司的数据库产品命名为 SQL Server,也称 MS SQL Server. 1989年 Ashton-Tate/Microsoft SQL Serv ...
- Java基础语法(三)---数组
一.概念 同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ...
- css基础语法三
[]伪类选择器] 1.写法: 伪类选择器,在选择器后面,用:分隔,紧接伪类状态: eg : .a:link 2. 超链接的伪类状态: :link - 未访问状态 :visited - 已访问状态 :h ...
- SqlServer基础语法(二)
先看一下腰实现的功能:
- CSS基础语法(三) CSS的6种特性
样式表常用写法及特性(组合.继承.关联性.权值性.层叠性.重要性) 1.样式的组合:把具有相同声明定义的选择符组合在一起,并用逗号隔开.-例如:段落元素p.单元格元素td和类c1可以使用相同样式: p ...
- Python 1基础语法三(变量和标识符的区别)
一.字面量: 就是一个一个的值,如1.2.3.‘world’,就是它自己本身表达的字面值.字面意思,在程序中可以直接使用. 二.变量(variable): 可以用来保存字面量,变量本身没有任何意思:如 ...
- HTML 网页开发、CSS 基础语法——三. HTML概念
1.纯文本格式 纯文本格式,就是没有任何文本修饰的,没有任何粗体,下划线,斜体,图形,符号,或者特殊字符,及特殊打印格式的文本,只保存文本,不保存其格式设置. ①格式对比 纯文本格式 富文本格式 最常 ...
随机推荐
- 学习windows编程 day2 之滚动条使用
相关函数: setscrollrange,setscrollpos,getscrollrange,getscrollpos 使用滚动条时我们需要进行的操作: 1.初始化滚动条范围和位置 在窗口创建时W ...
- 转- --python 3 编码
对Python3编码的整理!!! py编码终极版 说起python编码,真是句句心酸.算起来,反复折腾两个来月了.万幸的是,终于梳理清楚了.作为一个共产主义者,一定要分享给大家.如果你还在因为编码而头 ...
- Java EE之Hibernate的HibernateSessionFactory
昨天,一下午都被一个bug缠身,最后逐层排查,发现是MyEclipse 2014自动生成的HibernateSessionFactory有问题.后观察网友提供的自动生成的HibernateSessio ...
- mvc,mvp.mvvm模型
这些指的是框架模式,框架模式不是一门写代码的学问,而是一门管理与组织代码的学问.其本质是一种软件开发的模型. 与设计模式不同,设计模式是在解决一类问题时总结抽象出的公共方法(工厂模式,适配器模式,单例 ...
- Python的虚拟环境virtualenv
原文地址:blog.sina.com.cn/s/blog_4ddef8f80101eu0w.html Python的虚拟环境可以使一个Python程序拥有独立的库library和解释器interpre ...
- 最小费用流(km的另一种使用思路)
题目链接:https://cn.vjudge.net/contest/242366#problem/L 大体意思就是:h代表旅馆,m代表人,人每走动一个需要一个金币,行动只有两个方向,水平或者竖直.问 ...
- mysql 原理 ~ 二阶段提交协议通说
一 简介: 今天是第二篇,讲解的是mysql的事务日志 二 具体 1 WAL技术(先写日志,再写磁盘) 2 binlog redolog 二阶段提交协议 目的 保持 redo log和binl ...
- android studio 清空缓存插件
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0308/4036.html 一个提高开发效率的ADB插件:ADB IDEA 泡在 ...
- 编码器AE & VAE
学习总结于国立台湾大学 :李宏毅老师 自编码器 AE (Auto-encoder) & 变分自动编码器VAE(Variational Auto-encoder) ...
- freeRTOS中文实用教程3--中断管理之延迟中断处理
1.前言 嵌入式实时操作系统需要对整个系统环境产生的事件作出响应.可以采用中断方式也可以采用轮询方式来进行处理.如果采用中断方式,则希望ISR(中断服务例程)的处理时间越短越好. 注:必须说明的是,只 ...