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

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

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

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

  这个是数据库备份文件,直接还原即可。可惜我在还原的时候遇到个小插曲,报错:System.Data.SqlClient.SqlError: FILESTREAM 功能被禁用。又是个没有遇到的问题,只好再搜,这里把搜索结果也整理一下。

  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 

  然后重新还原数据库,完全正常。

  AdventureWorks2008数据库只能比SQL Server 2008版本更高的数据库上,同理AdventureWorks2008R2只有还原在比SQL Server 2008 R2更高的版本上。如果不小心把AdventureWorks2008R2还原到SQL Server 2008上,就会报错:数据库 'AdventureWorks2008R2' 的版本为 661,无法打开。此服务器支持 655 版及更低版本。不支持降级路径。661是sql2008 R2的版本号,655是sql2008的版本号,这个时候只有升级数据库或者改换示例数据库。查看数据库版本:

use master
go
select @@VERSION
declare @a nvarchar

10.0.1600其实就是SQL 2008

10.0.2531其实就是 SQL Server 2008 SP1

10.50.1600其实就是SQL 2008 R2

10.50.2500其实就是SQL 2008 R2 SP1

posted @ 2012-07-29 17:57  ByronYu  阅读(863)  评论(1编辑  收藏  举报