易截截图软件、单文件、免安装、纯绿色、仅160KB

管理 SQL Server 的事务日志

文章来源:Http://www.simple-talk.com
原文地址:http://www.simple-talk.com/sql/learn-sql-server/managing-transaction-logs-in-sql-server/
原作者:Robert Sheldon
翻译:三晋一枝花
译文原地址:http://prj.souty.cn/Admin/Knowledges/ShowKnowledge.aspx?id=44dbde74-d2c5-41a5-a8e9-375ba7103025
在 SQL Server 实例中的每一个数据库,都有一个日志,它记录着数据库的所有更改。由于这个日志是独立的,在更改发生之前,事务日志允许在硬件故障或应用程序错误时,对数据库回滚或保存事务。由于它的角色的重要性,事务日志被保存在一个或多个与数据库文件独立的日志文件中;日志记录是在内容的变更从缓存写到数据库文件中以前发生的。
对每个数据库,事务日志支持以下操作:
 当发出一个回滚操作或数据库引擎检测到一个错时,进行事务回滚;
 当服务器失改时,进行一个完整的事务回滚。这个事务在SQL Server 重启时进行回滚。
 当服务器失败时,将未完成的事务写入到日志文件,而不是数据文件中。当 SQL Server 重启时,这些未完成的事务将会写入数据文件。
当发生硬件错误时,对恢复的数据库、文件组、文件或页向前滚动到失败点。事务将滚动到最后一个完整备份或差异备点。
对事务复制、数据库镜像、日志传输提供支持。
 
这些记录事务日志的文件,会由数据库引擎根据物理文件的实际情况,自动地分解为多个虚拟文件。数据库引擎也会判断在何时对哪些虚拟文件进行截断。你可以指定物理日志文件的最小值和最大值,并可以配置扩展文件时的增长率。另外,你可以向日志增加物理文件、删除文件、增加日志的大小或收缩日志。
 
 
在这篇文章中,我将解释如何执行这些任务,以开始管理你的事务日志,同时,我提供了一些例子以演示每一个任务如何工作。在这些例子中,我使用位于本地 SQL Server 2008 实例上的 EmplyeeDb 数据库:
 
USE master;
 
IF EXISTS
(
  SELECT name from sys.databases
  WHERE name = 'EmployeeDB'
)
DROP DATABASE EmployeeDB;
 
CREATE DATABASE EmployeeDB
ON
(
  NAME = EmployeeDB_dat,
  FILENAME = 'C:\SqlData\EmployeeDb.mdf'
)
LOG ON
(
  NAME = EmployeeDB_log,
  FILENAME = 'C:\SqlData\EmployeeDb.ldf'
);
 
 
注意:我是在一个指定的位置上创建了一个数据库文件,而不


相关文档:

SQL Server和Oracle的常用函数对比

---------数学函数
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
4.取整(截取)
S:select cast(-1.002 as int) v ......

DBA常用sql(二)

 session状态:
STATUS VARCHAR2(8) Status of the session:
ACTIVE - Session currently executing SQL
INACTIVE - sql及其session没有释放或正常退出......
KILLED - Session marked to be killed
CACHED - Session temporarily cached for use by Oracle*XA
SNIPED - Session inactive, waiting on the clie ......

SQL中的DDL,DML,DCL语言

     感觉自己是比较笨的,学习过SQL语言,但是却分不太清楚DDL、DML、DCL语言,所以呢,今天就厚着脸皮问了老师,现在就自己目前的了解来总结一下。
1、DDL(DATA DEFINITION LANGUAGE)数据描述语言
     DDL语句不会产生还原数据,所以删除的数据也是无法恢复的
CREATE - to ......

SQL语句查询数据库中重复记录的个数

一个sql语句:一个表test有四个字段id,a,b,c,如果表中的记录有三个字段a,b,c都相等,则说明这条记录是相同的,求相同的记录的个数 。
select a,b,c,count(*) from (select c.a,c.b,c.c from test c) having count(*) >= 2 group by a,b,c
或者
select zdbh,tdzl,zdmj,count(*) from ecaadmin.zdsx group by zdbh ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号