还原AdventureWorks2008示例数据库遇到的问题

还原AdventureWorks2008示例数据库遇到的问题

近来需要AdventureWorks2008示例数据库,而安装的Sqlserver 2008 默认又没有安装这个数据库,只有自己安装了。于是去官网上找数据库下载,可惜目前官网不提供这个数据库下载了,在网上搜得AdventureWorks2008示例数据库,这里也提供一下,如果有需要可以下载。

AdventureWorks2008示例数据库:http://download.csdn.net/detail/truman_xy/4462462

AdventureWorks2008数据库字典:http://download.csdn.net/detail/truman_xy/4462471

这个是数据库备份文件,直接还原即可。我在还原的过程中遇到些小插曲。首先是因为我开始还原AdventureWorks2008示例数据库时在网上搜得一篇博客,按照文章中的步骤操作到最后一步的时候遇到了第一个问题System.Data.SqlClient.SqlError: FILESTREAM 功能被禁用”

 

至于那篇博客中提到的System.Data.SqlClient.SqlError: 因为数据库正在使用,无法获得对数据库的独占访问权”问题我并没有遇到。遇到问题了只好停下继续搜索解决方法,在网上搜到下面这个解决方法:

FILESTREAM是SQL Server 2008 新添加的特性, 默认是关闭的. 如果数据库备份文件启用了这个功能,在另外一台电脑上还原时也需要启动这个特性。网上给出了一般的解决方案:

1、开始-->Microsoft SQL Server 2008-->配置工具-->SQL Server 配置管理器

2、SQL Server服务-->SQL Server(MSSQLSERVER)右键属性

3、选择FILESTREAM选项卡,选中前两项:针对Transact-SQL访问启用FILESTREAM(E);针对文件I/O流访问启用FILESTREAM(E)

4、确定,然后重启该服务

这个方法我试了,可惜不成功,查了下,原来这个配置是用来控制 access 的,不对路。只好换个方法,调用sp_configure 存储过程来启用FILESTREAM:

USE master

GO

EXEC sp_configure filestream_access_level, 2

RECONFIGURE

然后重新还原数据库,结果又遇到了“System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 'XXX' 数据库不同问题,

 

这些个问题对于刚入门的我是听都没听说过更别说解决了,怎么办呢,只好继续在网上搜了,搜到的结果如下:

 

在sql server 2005以上版本,做还原时,不要建立数据库。

比如要还原test数据库,不要新建一个test库。而是直接选择还原的文件。此时在要还原的数据库列表中就会出现test库。选中即可。

而以前的版本需要先建立数据库,然后再还原。

原来是因为我在做还原时先建立了数据库,那只好把原先建的数据库删除,重新还原。这一次终于顺利的完成了。还原一个数据库花了将近一个小时,心想着这一个小时不能白花了啊,就整理了这篇文章,希望对跟我一样的初学者有所帮助。

posted @ 2013-07-29 11:27  benbenxiong92  阅读(205)  评论(0编辑  收藏  举报