[Sql server]数据备份的三个恢复模型

在SQL Server 2000中,有无数种备份数据库的方法。无论你的数据库有多大、改变是否频繁,都有满足你的要求的备份策略。让我们看看几种可以在不同环境下工作的基本备份策略。

  本文假定你有备份数据库的权限。也就是说,你要么是系统管理员,要么是db_owner或者backupadministrator。还有,我们还假定你的操作系统提供了访问备份所需要的资源的权利,例如,访问磁盘或者磁带驱动器。

  从哪儿开始

  在你开始备份一个SQL Server数据库之前,你需要知道该数据库使用了哪个恢复模型。这里有三种不同的恢复模型:FULL、BULK_LOGGED和SIMPLE。

  FULL恢复模型向你提供了最大的恢复灵活性。新数据库默认使用的就是这种恢复模型。利用这种模型,你可以恢复数据库的一部分或者完全恢复。假设交易记录(transactions log)还没有被破坏,你还可以在失败之前恢复出最后一次的已提交(committed)交易。在所有的恢复模型中,这种模型使用了最多的交易记录空间,并轻微影响了SQL Server的性能。

  BULK_LOGGED恢复模型比FULL模型少了一些恢复选项,但是进行批操作(bulk operation)时它不会严重影响性能。在进行某些批操作时,由于它只需记录操作的结果,因此它使用了较少的记录空间。然而,用这种模型,你不能恢复数据库中的特定标记,也不能仅仅恢复数据库的一部分。

  SIMPLE恢复模型是这三种模型中最容易实施的,它所占用的存储空间也最小。然而,你只能恢复出备份结束时刻的数据库。

  为了找出你所用数据库的恢复模型,可以运行下面的命令,该命令应该返回FULL、BULK_LOGGED和SIMPLE这三个值中的某一个:

  SELECT dbpropertyex(“database”, “recovery”)

  为了改变数据库的恢复选项,运行下面的命令:

  ALTER DATABASE database name SET RECOVERY {FULL   SIMPLE   BULK_LOGGED}

  除数据之外,SQL Server备份还包括数据库大纲(schema)和数据库元数据(即数据库文件、文件组和它们的位置)。SQL Server允许在备份时用户依然使用数据库,所以在备份期间发生的交易也记录到备份中去了。
[阅读全文...]

sql语句的循环

为了产生数据库的操作日志,并对日志进行收缩处理,没有日志只能自己动手制造日志了.在制造日志中用的sql语句,还用就是对sql语句的循环。sql到还是会点,循环就用的少了。又是文档,又是google的,最终搞定。注意:数据库在没有特殊的设置的时候,select是不产生日志的,要产生大量的操作日志就必须使用delect命令。下面是PL/SQL的循环语句的语法:
loop语法

declare i number;
begin
i := 1;
loop
insert into user (username) values(a1);
i := i + 1;
end loop;
end;

for语法

declare
i number;
begin
for i in 1..100
insert into user (username) values(a1);
end;

while语法

declare
i number;
begin
i := 1;
while i<=100
insert into user (username) values(a1);
i := i+1;
end;

mssql的循环实例:

declare
@i int;
set @i =1
while (@i<=100)
begin
insert into user (username) values(a1);
set @i =@i+1;
end;

命令行方式管理MySQL数据库实例

一、从命令行登录MySQL数据库服务器
1、登录使用默认3306端口的MySQL

/usr/local/mysql/bin/mysql -u root -p

2、通过TCP连接管理不同端口的多个MySQL(注意:MySQL4.1以上版本才有此项功能)

/usr/local/mysql/bin/mysql -u root -p –protocol=tcp –host=localhost –port=3307

3、通过socket套接字管理不同端口的多个MySQL

/usr/local/mysql/bin/mysql -u root -p –socket=/tmp/mysql3307.sock

4、通过端口和IP管理不同端口的多个MySQL

/usr/local/mysql/bin/mysql -u root -p -P 3306 -h 127.0.0.1

[阅读全文...]