欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-01-15 14:36:22
...

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

  近来需要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