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

SQL SERVER使用事务日志恢复数据的实验

/*
使用事务日志恢复数据的实验
*/
--1.创建测试数据库
CREATE DATABASE Db_test
ON
( NAME = Db_test_DATA,
      FILENAME = 'c:\Db_test.mdf' )
LOG ON
( NAME = Db_test_LOG,
   FILENAME = 'c:\Db_test.ldf')
GO
--2.故障还原模型设置为full模型,默认的简单模型备份事务日志是没用的
ALTER   DATABASE   Db_test   SET   RECOVERY   FULL   |   BULK_LOGGED
--3.创建测试表
CREATE TABLE [dbo].[BackupTabToTxt] (
 [TabName] [varchar] (200)  ,
)
--4.插入测试数据
insert into BackupTabToTxt(TabName) values('test1')
insert into BackupTabToTxt(TabName) values('test2')
insert into BackupTabToTxt(TabName) values('test3')
select * from BackupTabToTxt
--5.备份数据库
BACKUP DATABASE Db_test TO DISK='c:\test_data.bak'
--6.删除数据,备份日志
delete from BackupTabToTxt where TabName='test3'  --17:06
BACKUP LOG Db_test TO DISK='c:\test_log_1706.bak' --备份日志
delete from BackupTabToTxt where TabName='test2'  --17:07
BACKUP LOG Db_test TO DISK='c:\test_log_1707.bak' --备份日志
select * from BackupTabToTxt
--7.使用事务日志恢复数据
RESTORE database Db_test from DISK='c:\test_data.bak'  WITH NORECOVERY
RESTORE LOG Db_test from DISK='c:\test_log_1706.bak' with stopat='2009-09-24 17:06' ,NORECOVERY
RESTORE LOG Db_test from DISK='c:\test_log_1707.bak' with stopat='2009-09-24 17:07'
select * from BackupTabToTxt
--8.删除测试库
drop database Db_test


相关文档:

access 分页用 SQL查询语句

select top 每页显示的记录数 * from topic where id not in (select top (当前的页数-1)×每页显示的记录数 id from topic order by id desc) order by id desc
select top 每页显示的记录数 * from topic where id not in (select top (当前的页数-1)×每页显示的记录数 id from topic order by id desc) ......

尽量避免在SQL语句中使用OR

----start
    在SQL语句中应该尽量避免使用OR,因为这样做会影响SQL语句的性能。考虑下面的情况:
CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---姓名
BIRTHDAY DATE---生日
); 
现在有这样一个问题:让你查找一下生日是1949-10-1(共和国同龄人)或1978-12-18(十一届三中全会召开时间) ......

SQL 中将一个表转化成建表语句的存储过程

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE proc pGetInsertSQL (@TableName varchar(256))
as
begin
    set nocount on
    declare @sqlstr varchar(4000)
    declare @sqlstr1 varchar(4000)
    declare @sqlstr2 v ......

oracle sql 时间间隔计算

计算间隔时间:
select f_date,f_cstime,f_cetime, (((SYSDATE- TO_DATE(f_date||f_cstime,'YYYYMMDDHH24MISS')) * 86400000)-((SYSDATE- TO_DATE(f_date||f_cetime,'YYYYMMDDHH24MISS')) * 86400000))/1000  CURRENT_MILLI from ycsq_t_hauthlog where f_cstime<>'999999'
将字符串转换成日期类:SYSDATE- TO_ ......

尽量避免在SQL语句中使用LIKE

----start
    前面,我们介绍了 尽量避免在SQL语句的WHERE子句中使用函数,因为这样做会使该字段上的索引失效,影响SQL语句的性能。基于同样的道理,我们也应该避免使用LIKE。考虑下面的情况:
CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---姓名
MYNUMBER VARCHAR(18)---身份证号码
);&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号