为运行SQL Server的虚拟机切换装有DB Logs的最佳实践
上一篇说到虚拟机启动不了, 原因是有一块VHDX的文件找不到了. 解决了这个问题之后, 又遇到了另一个问题, 那就是我的这台SQL Server的虚机启动之后, 我的几个重要database变成了suspect状态.
原因很清楚, 因为切换过了装有DB Logs的VHDX.

[错误做法] 当时是这样做的: 在虚拟机和应用程序都在运行的状态下, 拷贝了存有DB Logs(ldf文件)的VHDX到另一个分区上. 同样在虚机和应用程序都live的情况下, 切换VHDX. 结果, 由于DB的data file和log file不一致, 就发生了suspect的问题.
[修复做法] 正确的做法是从backup中恢复DB. 但我的测试环境没有备份(-_-||), 因为几个T的数据备份就要花好久. 我的做法是先把所有使用这些DB的虚拟机都shutdown掉. 然后切换回原来的VHDX, 这样data和log file就一致了. 出现问题的DB状态正常之后, Trucnk掉transaction log. 之后拷贝ldf文件到别的地方. 再切换回去出问题的那个VHDX. 把ldf文件复制到正确的路径下. 数据库终于恢复了正常.
[正确做法] 痛定思痛, 下次再做这样的事情(更改包含MDF或LDF文件的VHDX)的时候, 应该这么做:
1. shundown运行着应用程序的虚拟机. 抑或是在SQL Server上把DB offline掉.
2. 拷贝VHDX到其他的LUN上.
3. 切换VHDX路径.
4. 启动虚拟机. 或是online掉所有的数据库.
但是, 王道是:"备份数据库"!
不管是suspect还是recovery pending, 只要有备份在, 你就无敌了!
为运行SQL Server的虚拟机切换装有DB Logs的最佳实践的更多相关文章
- SQL Server 2014 虚拟机的自动备份 (Resource Manager)
自动备份将在运行 SQL Server 2014 Standard 或 Enterprise 的 Azure VM 上自动为所有现有数据库和新数据库配置托管备份到 Azure. 这样,便可以配置使用持 ...
- Azure Backup (1) 将SQL Server 2012虚拟机中数据库备份到Azure Storage
<Windows Azure Platform 系列文章目录> 本文介绍的是由国内世纪互联运维的China Azure,相比国外的Global Azure.主要区别是存储账号的DNS地址不 ...
- cmd运行sql server安装
cmd运行sql server安装 SQL2012非群集安装_更新到最新版本.bat setup.exe /UpdateSource=.\hotfix\Latest /ACTION="Ins ...
- 运行sql server profiler所需的权限
********运行Sql Server Profiler所需的权限(performance)*********/ --EG. -- 使用TRACE帐户(Performancetest)跟踪Sql S ...
- 开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs
原文:开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs 快速入门:使用 Docker ...
- 《深入理解Java虚拟机:JVM高级特性与最佳实践》【PDF】下载
<深入理解Java虚拟机:JVM高级特性与最佳实践>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062566 内容简介 作为一位 ...
- 读书笔记-《深入理解Java虚拟机:JVM高级特性与最佳实践》
目录 概述 第一章: 走进Java 第二章: Java内存区域与内存溢出异常 第三章: 垃圾收集器与内存分配策略 第四章: 虚拟机性能监控与故障处理 第五章: 调优案例分析与实战 第六章: 类文件结构 ...
- 在Win8.1系统下如何安装运行SQL Server 2005 (以及安装SQL Server 2005 Express打补丁)
在Win8.1系统下SQL Server 2005 安装失败怎么办? 需要替换两个文件及打sqlserver sp4补丁. 以下是操作过程. 按正常情况,在Win8/Win8.1系统下安装微软的SQL ...
- 在Win8.1系统下如何安装运行SQL Server 2005
按正常情况,在Win8/Win8.1系统下安装微软的SQL Server 2005套件会存在兼容问题,即使安装完,最后的结果就是导致其服务项无法正常启动. 如果用户创建使用的项目非要按照SQL Ser ...
随机推荐
- lr场景运行报错的解决方法
- 【3.16高一(第二学期)模拟测试】 T3,T4题解
看到这个标题我想你一定会想为什么小编只发T3,T4的题解,原因有很多:1)小编也不怎么会讲:2)小编搜遍各大OJ,都没有找到可以提交的地方:3)虽然给了测试数据,小编懒得一个一个试.如果你找到了测评网 ...
- hiho1291(逆序思维,并查集)
题目链接:[https://hihocoder.com/problemset/problem/1291] 题意:在<我的世界>游戏中放置沙盒,沙盒为体积为1的正方体,按顺序给你一些坐标,然 ...
- 【BZOJ 2728】 2728: [HNOI2012]与非 (线性基?)
2728: [HNOI2012]与非 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 813 Solved: 389 Description Inpu ...
- CUDA学习笔记4:CUDA(英伟达显卡统一计算架构)代码运行时间测试
CUDA内核运行时间的测量函数 cudaEvent_t start1; cudaEventCreate(&start1); cudaEvent_t stop1; cudaEventCreate ...
- bzoj1715 虫洞
Description John在他的农场中闲逛时发现了许多虫洞.虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之前).John的每个农场有M条小路(无向边)连接着N ...
- ACM -- 算法小结(一)利用数组存放实现排序
利用数组存放实现排序 hodj1425 321MS 2011/08 题意:输入n个数字,要求输出从大到小排序的前m个数 解题技巧:利用大数存储在数组后面,小数存储在前面,倒序输出完成从大 ...
- 密码加密_md5
md5加密 package com.fh.util; import java.security.MessageDigest; public class MD5 { public static Stri ...
- IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) A. Bear and Three Balls 水题
A. Bear and Three Balls 题目连接: http://www.codeforces.com/contest/653/problem/A Description Limak is a ...
- hihocoder 162周 1323 : 回文字符串
hihocoder1323 : 回文字符串(162周) 题目链接 思路: dp; ac代码: #include<iostream> #include<cstdio> #incl ...