SQLServer 数据库故障修复顶级技巧之一

所有这些技术都能够作为维护一个备用服务器的手段,同时这个数据库可以在你原先的主数据库出问题时上线并作为新的主服务器。然而,你必须记住的是将备用服务器替换上线只是完成了一半的故障修复工作。

要保证你的应用正常工作,在数据库外部还有许多注意事项。这其中包括登录信息、数据库用户、调度任务、DTS 和 SSIS 包、可执行文件、系统数据库中的对象、同名数据库、链接服务器等等。

有时这些细小的依赖只有在你进行一个数据库故障恢复时才会发现,这样你又不得不花费大量时间进行调试和评估导致这个问题的根源。此外,你还必须让第二台服务器和应用尽可能快地上线以减少停机时间。因此,提前做设置是非常重要的。

当涉及到高可用性和SQL Server 的灾难恢复规划时,你应该谨记我本人所喜欢的一个拉丁谚语 ——Si vis pacem, para bellum,它的意思翻译过来就是“如果你想要得到和平,那就得先作好战争准备。”记住这一点后,让我们来看看一些可能会遇到的问题。我也将建议几个预先可以完成的任务,以确保数据库故障恢复过程快速有效地完成。

SQL Server 登录信息与数据库用户

你的故障恢复服务器应该备份所有的登录信息和数据库用户,包括密码。登录信息可以在任何时候创建,但是如果你使用日志传输或数据库镜像,你的数据库将处理恢复状态,这样你只有在它们重新上线后才能完成恢复过程。

使用 Windows 认证,可以很容易地将登录信息映射到数据库用户。然而,如果你使用的是 SQL 认证,那么你需要手动地在你从另一个服务器获得的数据库上重新建立登录信息与数据库用户的连接。因此,你在迁移数据库时会丢失登录信息和数据库用户之间的连接。

当你在第二台服务器上恢复数据库后,运行这些代码:

USE YourDatabaseName

EXEC sp_change_Users_Login 'UPDATE_ONE', YourDBUserName, YourLogin

保持登录信息同步的另一个方法是遵循 Microsoft Knowledge Base 上关于 在 SQL Server 实例之间传输登录信息和密码 的文章的步骤。这篇文章阐述了如何使用原始的 SID 脚本化登录信息。当在故障恢复数据库服务器上创建这些登录信息时,登录信息与数据库用户之间的连接会被保存,这样你就不必运行上面的脚本修复孤立的用户。

时间: 2024-08-08 22:44:40

SQLServer 数据库故障修复顶级技巧之一的相关文章

SQLServer 数据库故障修复顶级技巧之一_MsSql

所有这些技术都能够作为维护一个备用服务器的手段,同时这个数据库可以在你原先的主数据库出问题时上线并作为新的主服务器.然而,你必须记住的是将备用服务器替换上线只是完成了一半的故障修复工作. 要保证你的应用正常工作,在数据库外部还有许多注意事项.这其中包括登录信息.数据库用户.调度任务.DTS 和 SSIS 包.可执行文件.系统数据库中的对象.同名数据库.链接服务器等等. 有时这些细小的依赖只有在你进行一个数据库故障恢复时才会发现,这样你又不得不花费大量时间进行调试和评估导致这个问题的根源.此外,你

在asp.net中操作sql-server数据库的一些小技巧

asp.net|server|技巧|数据|数据库 1.给数据库语句参数传递 向数据库操作语句传递参数可以通过存储过程实现,这里给出另外两种简便易捷的方法: 可以在C#中通过字符串操作将参数直接传入SQL语句变量中,例如: string s="Davolio"; string sql= "select * from employees where LastName="+"'"+s+"'" 相当于写入SQL语句: select *

开启SQLSERVER数据库缓存依赖优化网站性能_实用技巧

很多时候,我们服务器的性能瓶颈会是在查询数据库的时候,所以对数据库的缓存非常重要,那么有没有一种方法,可以实现SQL SERVER数据库的缓存,当数据表没有更新时,就从缓存中读取,当有更新的时候,才从数据表中读取呢,答案是肯定的,这样的话我们对一些常用的基础数据表就可以缓存起来,比如做新闻系统的新闻类别等,每次就不需要从数据库中读取了,加快网站的访问速度. 那么如何开启SQLSERVER数据库缓存依赖,方法如下: 第一步:修改Web.Config的<system.web>节的配置,代码如下,让

浅谈优化SQLServer数据库服务器内存配置的策略

server|sqlserver|策略|服务器|数据|数据库|优化 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大型数据库应用程序,系统界面友好.操作简便,计算.分析.检索功能非常强大,为保证农业银行系统及时进行纵向和横向业务数据采集.按照不同要求生成统计报表,进行全面业务活动分析提供了强有力的保障.但在这套程序的推广.维护中笔者发现系统有时运行速度较

千奇百怪的数据库故障

昨天阿里云在运维上出现了严重的事故,引发文件删除,让我想起这篇文章,补充再发出来.总有很多情形,你无法想象,数据库的故障遭遇也是如此. 如果没有完善的流程.规范,并且进行规范化的审核,那么什么故障都可能发生,人.流程和工具,必须要互相匹配,完美结合才能发挥最佳效应,而运维就是要疯狂躲避各种坑. 分享几则我们遇到过的客户恢复故障,与大家共为警醒,注意这些都是真实的案例: 服务器找不到了 某次客户找我们恢复数据库,说某个数据库出现故障,原本以为不再需要了,现在还需要其中的数据,可能是时间太久远了,工

sql-求大神告诉我SQL2000数据库怎么修复

问题描述 求大神告诉我SQL2000数据库怎么修复 我用的是SQL 2000 ,由于备份的时候失误,可能将LOG文件损坏,现在MDF文件还在,但是调入失败,数据无法显示,麻烦大神帮忙解答,谢谢 解决方案 SQL2000置疑数据库修复SQL 2000数据库经典无敌修复!! 解决方案二: http://jingyan.baidu.com/article/2f9b480d5c13dd41cb6cc21b.htmlhttp://database.51cto.com/art/201010/230454.h

求民航售票系统代码用java+jsp代码 SQLserver数据库myeclipse平台

问题描述 求民航售票系统代码用java+jsp代码 SQLserver数据库myeclipse平台 用于课程设计不用太复杂,只用实现基本功能.1.用户登录2.根据时间,出发地,目的地查询机票功能3.订票4.订单查询5.退票.用java+jsp代码 SQLserver数据库myeclipse平台 解决方案 参考:http://download.csdn.net/download/angelyucc/2373156 解决方案二: 这个可以参考,但最好还是自己写吧 解决方案三: http://down

批量替换sqlserver数据库挂马字段并防范sql注入攻击的代码

首先备份数据库,以防不必要的损失.而后对所有被挂马的小于8000字符的varchar字段执行 复制代码 代码如下: update 表名 set 字段名=replace(字段名,'<Script Src=http://c.n%75clear3.com/css/c.js></Script>','') 其中<Script Src=http://c.n%75clear3.com/css/c.js></Script>为挂马字段.执行后挂马字段被清除.但是有部分字段,比

如何使用ASP.NET备份和恢复SqlServer数据库

首先我们先分析ASP备份SQL数据库的代码,详细如下: 备份SqlServer数据库:string SqlStr1 = "Server=(local);database='" + this.DropDownList1.SelectedValue + "';Uid=sa;Pwd=";string SqlStr2 = "backup database " + this.DropDownList1.SelectedValue + " to d