数据库的安全一直是“兵家”比争之地,数据库是企业公司等信息汇集的核心地带,对于这些数据一旦出现事故,其影响是巨大的,尤其是在网络高度发达的今天,一旦某某公司数据库出现问题,网上马上就会出现一些关于某某公司的爆料,不管是玩笑还是恶意,总之数据库的安全不容小视,因此在平时就要做足功课,虽然这个是DBA或者安全管理人员的职责和必杀技,但普通人员也可以了解,毕竟在激烈竞争的今天都多掌握一门技能,就多一份成功的希望和保证,笔者就在SQL Server2005中如何还原数据库进行详细的介绍,并就恢复或者还原数据库中出现的问题进行解决。

  (一)新增九项功能

  Microsoft SQL Server 2005跟Microsoft SQL Server 2000有很大的不同,在界面和功能上面都有很大的改进,它新增了以下九项重要功能:

  (1)Notification Services 增强功能

  Notification Services 是一种新平台,用于生成发送并接收通知的高伸缩性应用程序。Notification Services 可以把及时的、个性化的消息发送给使用各种各样设备的数以千计乃至以百万计的订阅方。

  (2)Reporting Services 增强功能

  Reporting Services 是一种基于服务器的新型报表平台,它支持报表创作、分发、管理和最终用户访问。

  (3)新增的 Service Broker

  Service Broker 是一种新技术,用于生成安全、可靠和可伸缩的数据库密集型的应用程序。Service Broker 提供应用程序用以传递请求和响应的消息队列。

  (4)数据库引擎增强功能

  数据库引擎引入了新的可编程性增强功能(如与 Microsoft .NET Framework 的集成和 Transact-SQL 的增强功能)、新 XML 功能和新数据类型。它还包括对数据库的可伸缩性和可用性的改进。

  (5)数据访问接口方面的增强功能

  SQL Server 2005 提供了 Microsoft 数据访问 (MDAC) 和 .NET Frameworks SQL 客户端提供程序方面的改进,为数据库应用程序的开发人员提供了更好的易用性、更强的控制和更高的工作效率。

  (6)Analysis Services 的增强功能 (SSAS)

  Analysis Services 引入了新管理工具、集成开发环境以及与 .NET Framework 的集成。许多新功能扩展了 Analysis Services 的数据挖掘和分析功能。

  (7)Integration Services 的增强功能

  Integration Services 引入了新的可扩展体系结构和新设计器,这种设计器将作业流从数据流中分离出来并且提供了一套丰富的控制流语义。Integration Services 还对包的管理和部署进行了改进,同时提供了多项新打包的任务和转换。

  (8)复制增强

  复制在可管理性、可用性、可编程性、移动性、可伸缩性和性能方面提供了改进。

  (9)工具和实用工具增强功能

  SQL Server 2005 引入了管理和开发工具的集成套件,改进了对大规模 SQL Server 系统的易用性、可管理性和操作支持。
 

  (二)细节改动比较大

  Microsoft SQL Server 2005与Microsoft SQL Server 2000在使用细节上有很多不同,习惯使用Microsoft SQL Server 2000的朋友更换到Microsoft SQL Server 2005后,会惊叹怎么会是这样!的却在使用上面很有多细节的变化,笔者列举几个:

  (1)操作方式不同

  在Microsoft SQL Server 2005中是通过“SQL Server Management Studio”来管理数据库,因此通过“开始”-“程序”-“Microsoft SQL Server 2005”-“ SQL Server Management Studio”打开数据库管理综合控制台。

  (2)提供的服务增多

  通过服务管理器可以看到在Microsoft SQL Server 2005 中增加了很多新的服务,例如“SQL Server Directory Helper”、“SQL Server Browser”、“SQL Server Vss Writer”和“SQL Server Integration Services”,如图1所示。  

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_数据库

                 图1 Microsoft SQL Server 2005新增加的一些服务

  (3)管理控制台操作界面改动较大

  在Microsoft SQL Server 2005中数据查询整合到一起了,以前通过查询分析器来进行查询的操作,现在直接整合在数据库管理中,比以前方便快捷。

  (4)其他一些改进

  在功能上改进较多,这个就要自己去体会,当然微软每一次的改进都是以升级硬件为代价,普通个人计算机跑Microsoft SQL Server 2005后性能和速度会下降不少,如果是为了测试和体验,可以在安装完成后将有关Microsoft SQL Server 2005的所有服务都变成手动,在使用时启动即可。

  有兴趣的朋友可以有针对性的去体验上面新增的9大功能和一些细节上面的东西,在数据库操作中非常重要的一个操作就是备份与还原,对于在SQL Server2000中的还原数据库,很多朋友都是使用过的,用起来非常简单,选择文件后,选择强制还原,问题即可解决,然而在2005中却不行了,下面就介绍如何具体来还原一个备份的数据库。

 

  (三)还原备份数据库

  备份数据库的理由有很多,有的是为了防止出现意外,有的是开发需要,有的是***后将数据库还原打包,所有的备份的目的都是一个为了在需要的时候还原。恢复数据库的前提是在本机搭建了Microsoft SQL Server 2005数据库平台也即安装了能够使用的Microsoft SQL Server 2005数据库,且已经将备份文件放置在本地计算机上。下面就是具体的恢复过程。

  (1)连接数据库引擎

  第一次打开“SQL Server Management Studio”时会自动弹出一个连接到服务器的对话框,如图2所示,在服务器类型和服务器名称以及身份验证中选择默认即可。如果已经打开“SQL Server Management Studio”,则可以单击菜单工具栏上的“文件”-“连接对象资源管理器”打开“连接到服务器”对话框。最后单击连接,连接成功后出现“SQL Server Management Studio”控制台,如图3所示。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_SQL_02

                 图2 连接到服务器

  

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_开发工具_03

                 图3 SQL Server Management Studio控制台

  (2)还原数据库操作

  在SQL Server Management Studio控制台下选中“数据库”或者系统数据库,然后右键单击在弹出的菜单中选择“还原数据库”,如图4所示,打开一个还原数据库窗口,在该窗口中需要设定“目标数据库”,可以手工输入目标数据库的名称,也可以单击“目标数据库”中的下列列表,从存在的数据库中选择目标数据库;另外一个需要指定的是用于还原的备份集和位置,主要有两个,一个是源数据库,另外一个是源设备,对于数据库在线还原,就选择“源数据”,对于从物理文件还原,则选择“源设备”。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_开发工具_04

                 图4还原数据库设定

  (3)添加备份文件的位置。选择“源设备”,点击文本框右边的按钮“...”,在弹出的“指定备份”对话框中来添加备份的位置,如图5所示。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_SQL_05

                 图5 指定备份位置

 

  (4)定位备份文件

  在“指定备份”对话框中单击“添加”按钮,接着会弹出“定位备份文件”对话框,默认情况下Microsoft SQL Server 2005会直接定位到其安装目录下的“MSSQL.1/MSSQL/Backup”目录,如图6所示,默认情况显示“*.bak”和“*.trn”两种备份文件。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_SQL_06

                 图6定位备份文件

  在本例中在文件类型中选择“所有文件”,然后就会显示在该目录下的所有备份文件,如图7所示,然后选择一个需要备份的文件即可,本例中选择“uniport”数据库。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_SQL_07

                 图7 选择欲还原的备份数据库文件

  技巧:

  可以将所有备份文件都复制到“C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup”目录下,这样选择起来也比较方便。

  单击“确定”按钮完成文件的选择,回到“指定备份”对话框中,如图8所示,然后单击“确定”完成备份文件的选择。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_SQL_08

                图8完成指定备份文件的选择

  (5)完成“还原的目标”和“还原的源”的设定

  在图9所示的对话框中选中列表中的需要还原的文件,在“还原的目标”中输入“uniport”,表示还原后的数据库名称是“uniport”,然后单击确定开始还原数据库,如图10所示。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_Server_09

                图9完成“还原的目标”和“还原的源”的设定

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_SQL_10

                图10 还原数据库

 

  (6)对还原出现错误的处理

  在进行还原数据库操作的朋友可能还会遇到即使按照上面的步骤也无法还原数据库的情况,其实很简单,如图11所示,弹出错误提示,表示目录不存在,即在E盘未建立相应的文件夹。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_Server_11

                图11还原数据库出现错误

  解决办法很简单,按照“E:\Program Files\Microsoft SQL Server\MSSQL\Data”路径的顺序,分别在E盘根目录下建立“Program Files”文件夹,然后在“Program Files”文件夹下建立“Microsoft SQL Server”文件夹,在“Microsoft SQL Server文件夹”下建立“MSSQL”,在“MSSQL”下建立“Data”文件夹,建立完毕后如图11所示,最后按照前面的步骤重新选择即可完成数据库的还原。在SQL Server2005中还原出现图11所示的错误直接建立相应的文件夹即可解决,这对于大的数据库(超过1G)还原无疑是一种福音,笔者以前曾经在SQL Server2000中探讨过如何恢复一些较难恢复的数据库,即只有一个备份的数据库无任何其它信息,当时是通过UE直接打开数据库文件从中寻找数据库的详细路径,当数据库文件过大是,使用UE打开,计算机会宕机。在SQL Server2005中得到了完美的解决,数据库自动提示哪里出现问题。

sql server 数据库 还原数据库 指定的转换无效 sql2005数据库还原失败_开发工具_12

                图12 建立相应的文件夹