首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Transacton日志备份

Transacton日志备份
EN

Database Administration用户
提问于 2019-06-19 17:38:47
回答 2查看 72关注 0票数 1

当我停止Server时,活动事务日志会发生什么?在停止处理下,所有事务都会写到db?或者当分局开始的时候.

当我停止Server时,是否可能不会将所有事务写入数据库?未提交的事务只保留在事务日志和/或事务日志备份中?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2019-06-19 18:35:45

如果您假设如下:

  • 1-客户端正在积极使用Server,发送插入、更新和删除。
  • 2-断电会导致Server崩溃。

在启动时,服务器将对所有数据库进行简短的恢复检查,并回滚当时正在运行的任何事务。请注意,所有提交的事务都将保留下来,只有那些SQL Server没有对客户端进行确认的事务。

警告

  • 如果你有延迟耐久开启,那么你可能会失去更多。
  • 如果由于停电/服务器中断而导致磁盘/文件损坏,那么这里也会对您造成伤害。

当数据库出现时,它将处于事务一致的状态,这取决于正在运行的事务的大小,服务器可能不得不回滚相当多的数据,但它将是事务一致的。

票数 3
EN

Database Administration用户

发布于 2019-06-20 14:15:30

如果事务正在运行,并且使用了服务重新启动/关闭选项,则通过以下方法关闭Server:

  1. 禁用登录( sysadmin和serveradmin固定服务器角色的成员除外)。
  2. 等待当前运行Transact-SQL语句或存储过程完成。要显示所有活动进程和锁的列表,分别运行sp_who和sp_lock。
  3. 在每个数据库中插入一个检查点。
  4. 使用关机语句可以最小化sysadmin固定服务器角色成员重新启动Server时所需的自动恢复工作量。

SQL server维护数据库一致性,并安全关闭SQL服务器。在这种情况下,恢复时间将更短。

但是,当您发出关机WITHNOWAIT时,SQL server会立即停止SQL服务并关闭系统,而不会在每个数据库中执行检查点,也不会试图终止所有用户进程。

https://learn.microsoft.com/en-us/sql/t-sql/language-elements/shutdown-transact-sql?view=sql-server-2017

https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/start-stop-pause-resume-restart-sql-server-services?view=sql-server-2017

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/240954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档