sql2005数据库快照是什么(数据库快照的作用是什么)

sql2005数据库快照是什么(数据库快照的作用是什么),第1张

数据库快照是MSSQL2005的新功能,仅在MicrosoftSQLServer2005EnterpriseEdition中可用。而且SQLServerManagementStudio不支持创建数据库快照,创建快照的唯一方式是使用Transact-SQL。

数据库快照是数据库(称为“源数据库”)的只读静态视图。在创建时,每个数据库快照在事务上都与源数据库一致。在创建数据库快照时,源数据库通常会有打开的事务。在快照可以使用之前,打开的事务会回滚以使数据库快照在事务上取得一致。

客户端可以查询数据库快照,这对于基于创建快照时的数据编写报表是很有用的。而且,如果以后源数据库损坏了,便可以将源数据库恢复到它在创建快照时的状态。

创建数据库快照可以:

·维护历史数据以生成报表。可以通过快照访问特定时间点的数据。例如,您可以在给定时间段(例如,财务季度)要结束的时候创建数据库快照以便日后制作报表。然后便可以在快照上运行期间要结束时创建的报表。

·将查询实施在数据库的快照上,可以释放主体数据库上的资源。

·加快恢复 *** 作效率,使用快照将数据库恢复到生成快照时的状态比从备份还原快得多;但是,此后您无法对数据进行前滚 *** 作。根据磁盘资源,可以每24小时创建6到12个滚动快照。每创建一个新的快照,就删除最早的快照。如果要恢复,可以将数据库恢复到在错误发生的前一时刻的快照。或者,也可以利用快照中的信息,手动重新创建删除的表或其他丢失的数据。例如,可以将快照中的数据大容量复制到数据库中,然后手动将数据合并回数据库中。

但是只要存在数据库快照,快照的源数据库就存在以下限制:

·必须在与源数据库相同的服务器实例上创建数据库快照。

·数据库快照捕获开始创建快照的时间点,去掉所有未提交的事务。未提交的事务将在创建数据库快照期间回滚,因为数据库引擎将对快照执行恢复 *** 作(数据库中的事务不受影响)。

·当将源数据库中更新的页强制压入快照时,如果快照用尽磁盘空间或者遇到某些错误,则该快照将成为可疑快照并且必须将其删除。有关详细信息,请参阅删除数据库快照。

·快照为只读。

·禁止对model数据库、master数据库和tempdb数据库创建快照。

·不能更改数据库快照文件的任何规范。

·不能从快照中删除文件。

·不能备份或还原快照。

·不能附加或分离快照。

·不能在FAT32文件系统或RAW分区中创建快照。

·数据库快照不支持全文索引,不能从源数据库传播全文目录。

·数据库快照将继承快照创建时其源数据库的安全约束。由于快照是只读的,因此无法更改继承的权限,对源数据库的更改权限将不反映在现有快照中。

·快照始终反映创建该快照时的文件组状态:在线文件组将保持在线状态,离线文件组将保持离线状态。有关详细信息,请参阅本主题后面的“含有离线文件组的数据库快照”。

·如果源数据库的状态为RECOVERY_PENDING,可能无法访问其数据库快照。但是,当解决了源数据库的问题之后,快照将再次变成可用快照。

·只读文件组和压缩文件组不支持恢复。尝试恢复到这两类文件组将失败。有关恢复的详细信息,请参阅恢复到数据库快照。

释放磁盘空间并且重新运行恢复 *** 作,按照下面的步骤收缩日志。

sp_resetstatus 关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项。

为从根本上解决这样的问题,你可以按下面的 *** 作配置SQLSERVER 2000:

a如果不需要恢复到指定的时间点,你可以将数据库的恢复模式配置为简单,这样

UPDATE,DELETE,SELECT就不会记录日志,日志就不会增加的很大:

USE MASTER

GO

ALTER DATABASE DB_NAME SET RECOVERY SIMPLE

b如果你的恢复模式是全部,你一定要配置日志字段收缩:

USE MASTER

GO

sp_dboption 'databasename','trunc log on chkpt',true

sp_dboption 'databasename','autoshrink',true

c通过每日备份将日志收缩:

BACKUP DATABASE DATABASE_NAME TO BACKUP_DEVICES

BACKUP LOG DATABASE_NAME TO LOG_DEVICES

OR

BACKUP LOG DATABASE_NAME with truncate_only

检查日志的容量:DBCC SQLPERF (LOGSPACE) 这时日志并没有收缩!

d每天在备份数据库完成之后,重新启动MS SQLSERVER SERVICE

USE DATABASE_NAME

go

DBCC SHRINKFILE(2,truncateonly)

检查日志的容量:DBCC SQLPERF (LOGSPACE) 这时日志已经收缩!

e手动快速收缩日志:

/ run below script,you will shrink you database log files

immediately, in my experience,you need to run the script for 3 or

4 minutes before stopping it manually /

use databasename

dbcc shrinkfile(2,notruncate)

dbcc shrinkfile(2,truncateonly)

create table t1(char1 char(4000))

go

declare @i int

select @i=0

while(1=1)

begin

while(@i<100)

begin

INSERT INTO T1 VALUES ('A')

SELECT @I=@I+1

END

TRUNCATE table T1

BACKUP LOG youdatabasename with truncate_only

end

GO

注意 只有在您的主要支持提供者指导下或有疑难解答建议的做法时,才可以使用

sp_resetstatus。否则,可能会损坏数据库。

由于该过程修改了系统表,系统管理员必须在运行 sp_resetstatus这个过程前,启用系统表更新。要

启 用更新,使用下面的过程:

USE master

GO

sp_configure 'allow updates', 1

GO

RECONFIGURE WITH OVERRIDE

GO

过程创建后,立即禁用系统表更新:

sp_configure 'allow updates', 0

GO

RECONFIGURE WITH OVERRIDE

GO

只有系统管理员才能执行 sp_resetstatus。执行该过程后,立即关闭 SQL Server。

朋友,电脑出现:内存不能为read,这是你下载的“软件”与电脑内存有“冲突”!

原因总结起来,有以下方面,偶尔出现,点:取消,即可!

(答案原创,本答案原作者:力王历史)

1电脑中了木马或者有病毒在干扰!

试试:杀毒软件,360安全卫士+360杀毒双引擎版,或者金山卫士+金山毒霸,

建议:修复“高危”和“重要”漏洞!使用“木马云查杀”和“360杀毒”,

“全盘扫描”和“自定义扫描”病毒和木马,删除后,重启电脑!

开机后,点开“隔离|恢复”,找到木马和病毒,彻底删除文件!

2如果第1种方法不行,打开:“360安全卫士”,“木马查杀”里的:“360系统急救箱”!

先“开始急救”,查杀完毕,删除“可疑启动项”和木马,再重启电脑!

然后点开“文件恢复区”,找到“可疑启动项”和木马,点“彻底删除”!

再点开“系统修复”,“全选”,再点“立即修复”!网络修复,立即修复,重启电脑!

3用“360安全卫士”,“系统修复”,一键修复!再:“清理插件”,立即扫描,立即清理:恶评插件!

4你下载的“播放器”,或“聊天软件”,或“IE浏览器”,或者“驱动”,或

“游戏”的程序不稳定,或者“版本太旧”!建议卸掉,下载新的,或将其升级

为“最新版本”!

5软件冲突,你安装了两款或两款以上的同类软件(如:两款播放器,两款

qq,或多款浏览器,多款杀毒软件,多款网游等等)!它们在一起不“兼容”,

卸掉“多余”的那一款!

6卸载方法:你在电脑左下角“开始”菜单里找到“强力卸载电脑上的软件”,找到多余的那款卸掉! 卸完了再“强力清扫”!

或者“360安全卫士”,“软件管家”,点开,第4项:“软件卸载”,点开,找

到“多余”和“类似”的软件卸载!如:“播放器”,点开,留下“暴风”,卸载“快播”!如:“下载”:点开,留下“迅雷”,卸载“快车”!(看准了再卸,别把有用的卸了)

7如果还是不行,去网上下载一个“read修复工具”,修复试试!

8再不行,重启电脑,开机后按“F8”,回车,回车,进到“安全模式”里,“高级启动选项”,找到:“最后一次正确配置”,按下去试试,看看效果如何!

9再不行,开始菜单,运行 ,输入cmd, 回车,在命令提示符下输入(复制即可) :

for %1 in (%windir%\system32\ocx) do regsvr32 /s %1

粘贴,回车,再输入:

for %1 in (%windir%\system32\dll) do regsvr32exe /s %1

回车!直到屏幕滚动停止为止,重启电脑!

10实在不行就“一键还原”系统或“重装系统”!

跨数据库所有权链接已启用

该只读值指示跨数据库所有权链是否已启用。如果设置为 True,则数据库可以为跨数据库所有权链的源或目标。使用 ALTER DATABASE 语句设置此属性。

可信

当显示 True 时,该只读选项指示 SQL Server 允许在数据库中建立的模拟上下文内访问数据库以外的资源。模拟上下文可以使用 EXECUTE AS 用户语句或数据库模块上的 EXECUTE AS 子句在数据库内建立。

若要具有访问权限,数据库的所有者也需要具有服务器级的 AUTHENTICATE SERVER 权限。

使用此属性,还可以在数据库内创建和执行不安全的程序集和外部访问程序集。除了将此属性设置为 True 以外,数据库的所有者还需要服务器级的 EXTERNAL ACCESS ASSEMBLY 或 UNSAFE ASSEMBLY 权限。

默认情况下,所有用户数据库和所有系统数据库(MSDB 除外)都将此属性设置为 False。不能更改 model 和 tempdb 数据库的值。

每当数据库附加到服务器时,都要将 TRUSTWORTHY 设置为 False。

在模拟上下文内访问数据库以外资源的建议方法是使用证书和签名替代 Trustworthy 选项。

使用 ALTER DATABASE 语句设置此属性。

来源 >

以上就是关于sql2005数据库快照是什么(数据库快照的作用是什么)全部的内容,包括:sql2005数据库快照是什么(数据库快照的作用是什么)、SQL Server 无法打开'msdb'数据库、为什么安装MSSQL2005数据库到正在配置组件...之后就没有跳到下一步,而是就没反应了呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9548393.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存