精华内容
下载资源
问答
  • 数据库快照

    2019-10-08 13:36:01
    数据库快照,正如其名称所示那样,是数据库在某一时间点的视图。快照设计最开始的目的是为了报表服务。比如我需要出2011的资产负债表,这需要数据保持在2011年12月31日零点时的状态,则利用快照可以实现这一点。快照...

    简介
    数据库快照,正如其名称所示那样,是数据库在某一时间点的视图。快照设计最开始的目的是为了报表服务。比如我需要出2011的资产负债表,这需要数据保持在2011年12月31日零点时的状态,则利用快照可以实现这一点。快照还可以和镜像结合来达到读写分离的目的。下面我们来看什么是快照。

    什么是快照
    数据库快照是 SQL Server 数据库(源数据库)的只读静态视图。换句话说,快照可以理解为一个只读的数据库。利用快照,可以提供如下好处:

    提供了一个静态的视图来为报表提供服务
    可以利用数据库快照来恢复数据库,相比备份恢复来说,这个速度会大大提高(在下面我会解释为什么)
    和数据库镜像结合使用,提供读写分离
    作为测试环境或数据变更前的备份,比如我要大批导入或删除数据前,或是将数据提供给测试人员进行测试前,做一个快照,如果出现问题,则可以利用快照恢复到快照建立时的状态

    展开全文
  • 若要将镜像数据库用于报表,可以在镜像数据库中创建数据库快照,并将客户端连接请求定向到最新的快照。由于数据库快照只在创建快照时存在,因此,它是一个静态的、只读的并与其源数据库保持事务一致的快照。若要在...

    可以利用为了实现可用性目标而维护的镜像数据库来减轻报表的负载。若要将镜像数据库用于报表,可以在镜像数据库中创建数据库快照,并将客户端连接请求定向到最新的快照。由于数据库快照只在创建快照时存在,因此,它是一个静态的、只读的并与其源数据库保持事务一致的快照。若要在镜像数据库中创建数据库快照,数据库必须处于同步镜像状态。

    与镜像数据库本身不同,客户端可以访问数据库快照。只要镜像服务器与主体服务器进行通信,就可以将报表客户端连接定向到快照。注意,由于数据库快照是静态的,因此没有新数据可用。为了让用户能够使用相对较新的数据,必须定期创建新的数据库快照,并通过应用程序将传入客户端连接定向到最新的快照。

    新的数据库快照几乎是空的,但是它会随着越来越多的数据页的首次更新而增长。由于数据库中的每个快照都以这种方式增长,因此,每个数据库快照与常规数据库使用同样多的资源。根据镜像服务器和主体服务器的配置,在镜像数据库中保留过多的数据库快照可能会降低主体数据库的性能。因此,我们建议在镜像数据库中仅保留少量相对较新的快照。一般情况下,在创建替换快照之后,应重新将传入查询定向到新的快照,并在完成所有当前的查询之后删除较早的快照。

    注意:
    有关数据库快照的详细信息,请参阅数据库快照。

    如果出现角色切换,则数据库及其快照将重新启动并暂时断开与用户的连接。然后,数据库快照保留在创建时所在的服务器实例中,并成为新的主体数据库。用户可以在故障转移后继续使用快照。但是,这样会给新的主体服务器带来额外的负荷。如果在您的环境中性能是一个关注点,则我们建议您应在新镜像数据库成为可用后,在其中创建快照,并将客户端重新定向到新快照,同时从以前的镜像数据库中删除所有数据库快照。

    注意:
    对于能很好地向外扩展的专用报告解决方案,可以考虑复制。有关详细信息,请参阅数据仓库和报告。

    示例
    下面的示例将对镜像数据库创建快照。

    假定数据库镜像会话的数据库为 AdventureWorks。此示例在 AdventureWorks 数据库(位于驱动器 F 中)的镜像副本中创建了三个数据库快照。分别将这些快照命名为 AdventureWorks_0600、AdventureWorks_1200 和 AdventureWorks_1800,以标识它们的近似创建次数。

    在 AdventureWorks 的镜像中创建第一个数据库快照。

    复制代码
    CREATE DATABASE AdventureWorks_0600
    ON (NAME = ‘datafile’, FILENAME = ‘F:\AdventureWorks_0600.SNP’)
    AS SNAPSHOT OF AdventureWorks

    在 AdventureWorks 的镜像中创建第二个数据库快照。仍在使用 AdventureWorks_0600 的用户可以继续使用它。

    复制代码
    CREATE DATABASE AdventureWorks_1200
    ON (NAME = ‘datafile’, FILENAME = ‘F:\AdventureWorks_1200.SNP’)
    AS SNAPSHOT OF AdventureWorks

    此时,可以用编程的方式将新客户端连接定向至最新的快照。

    在 AdventureWorks 的镜像中创建第三个快照。仍在使用 AdventureWorks_0600 或 AdventureWorks_1200 的用户可以继续使用它们。

    复制代码
    CREATE DATABASE AdventureWorks_1800
    ON (NAME = ‘datafile’, FILENAME = ‘F:\AdventureWorks_1800.SNP’)
    AS SNAPSHOT OF AdventureWorks

    此时,可以用编程的方式将新客户端连接定向至最新的快照。

    展开全文
  • SQL数据库快照

    2017-02-15 14:02:06
    数据库快照的使用 只有SQL server Enterprise Edition才有数据库快照。(附查询SQL server 版本的语法:)select @@version; 一、创建数据库快照 创建实例 create database TableName_Snap_20170215 --快照名称 on( ...

    只有SQL server Enterprise Edition才有数据库快照。(附查询SQL server 版本的语法:)

    select @@version;
    

    一、创建数据库快照
    创建实例

        create database TableName_Snap_20170215  --快照名称
        on(
            --源数据库的逻辑名称
            name = TableName,
            --快照存放的位置和文件名,路径必须存在,文件后缀可以任意
            filename = 'D:\database\snapshot\TableName_Snap.snap'
        )
            --指明为哪个数据库做快照
        as snapshot of  TableName
        go

    二、使用快照恢复数据库

        restore database TableName from snapshot = 'TableName_snap_20170215'
    

    说明:

    如果恢复时提示,“正在使用,无法更改数据库状态”,则最彻底的方法是重启SQL服务。
    如果判断只是占用的了几个进程,则可用下列方式结束进程

    结束SQL进程的语句

        select * from sysprocesses where db_name(dbid) = 'TableName'; --数据库名称

    这里写图片描述

        exec('kill 59');  --结束进程
    展开全文
  • 优化数据库快照

    2019-09-28 22:40:03
    优化数据库快照 优化数据库快照(一) 优化数据库快照(二) posted on 2011-03-28 16:44Fanr_Zh 阅读(...) 评论(....

    优化数据库快照(一)

    优化数据库快照(二)

    posted on 2011-03-28 16:44 Fanr_Zh 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/Amaranthus/archive/2011/03/28/1997866.html

    展开全文
  • 在SQL Server 2005中,它的另外一个强大的新特点是数据库快照数据库快照在初始化时读的数据文件是来自于源数据库的。当源数据库的数据发生变化 时,数据引擎就会将原始数据从源数据库拷贝到快照数据库中。这个技术...
  • 数据库快照在初始化时读的数据文件是来自于源数据库的。当源数据库的数据发生变化时,数据引擎就会将原始数据从源数据库拷贝到快照数据库中。这个技术确保快照数据库只反映快照被执行时数据的状态。当SELECT命令被...
  • 目录创建数据库快照数据库快照恢复数据库删除快照实例第一步:对数据库pxscj01创建快照第二步:从快照恢复数据pxscj01 创建数据库快照 语法格式如下: create database snapshot_name -- 快照名称 on ( name='...
  • SQL如何创建数据库快照

    千次阅读 2017-03-05 19:02:01
    最近开始学的数据库,使用的是SQL server 2008,以下是我学习数据库快照的笔记,如有错误还请指正。 什么是数据库快照数据库快照,顾名思义就是给数据库某个时刻拍的照片,是数据库(源数据库)的只读、静态视图。...
  • 删除数据库快照

    2011-02-25 11:52:00
    删除数据库快照将删除 SQL Server 中的数据库快照,并删除快照使用的稀疏文件.删除数据库快照时,将终止所有到此快照的用户连接.具有 DROP DATABASE 权限的任何用户都可以删除数据库快照. 删除数据库快照标识要删除的...
  • SQL数据库快照删除

    2015-01-22 17:56:35
    删除数据库快照将删除 SQL Server 中的数据库快照,并删除快照使用的稀疏文件。 删除数据库快照会终止所有到此快照的用户连接。 安全性 权限 具有 DROP DATABASE 权限的任何用户都可以删除...
  • 创建数据库快照

    千次阅读 2011-02-25 11:43:00
    任何能创建数据库的用户都可以创建数据库快照.重要提示:只有 SQL Server 2005,SQL Server 2008 和 SQL Server 2008 R2 的 Enterprise Edition 提供了 SQL Server 2005 中引入的数据库快照功能.创建数据库快照的最佳...
  • 数据库快照简介

    2011-02-25 11:26:00
    数据库快照功能是在 MicrosoftSQL Server 2005 中新增的功能.只有 SQL Server 2005 Enterprise Edition 和更高版本才提供数据库快照功能.所有恢复模式都支持数据库快照.数据库快照是数据库(源数据库)的只读,静态视图...
  • SQL基础之数据库快照

    2017-11-23 17:47:39
    SQL基础之数据库快照 1.认识快照  如名字一样,数据库快照就可以理解为数据库某一时刻的照片,它记录了此时数据库的数据信息。如果要认识快照的本质,那就要了解快照的工作原理。当我们执行t-sql创建快照后,...
  • 什么是数据库快照

    万次阅读 2018-12-10 08:45:20
    数据库快照,正如其名称所示那样,是数据库在某一时间点的视图。快照设计最开始的目的是为了报表服务。比如我需要出2011的资产负债表,这需要数据保持在2011年12月31日零点时的状态,则利用快照可以实现这一点。  ...
  • 数据库快照 database snapshot

    千次阅读 2017-11-06 17:26:48
    可以这样理解,就是在某个时间点对指定数据库拍了一张快照,所以它是静态的,只读的,但本质上还是一个数据库,只要是数据库我们就是可以从里面取数据的,但是数据库快照这个数据库取数据库的原理是这样的:快照生成...
  • 数据库快照了解

    千次阅读 2017-02-09 11:14:35
    ... 数据库快照,正如其名称所示那样,是数据库在某一时间点的视图。是SQL Server在2005之后的版本引入的特性。快照的应用场景比较多,但快照设计最开始的目的是为了报表服务。比如我需要出201

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,741
精华内容 48,296
关键字:

数据库快照