解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题
今天由于测试需要,在网上下载了Adventureworks2008实例数据库的BAK文件,进行还原时出现了这样的错误“FILESTREAM功能被禁用”,如下图所示:
遇到上面的问题,我们通常的做法是通过SQLSERVER配置管理器,对SQLSERVER实例服务做如下设置再重启SQLSERVER实例服务即可成功,如下图所示:
一般情况通过上面的设置,即可成功还原,但在还原Adventureworks2008数据库时,通过上面的设置后,还是不能成功还原,错误依旧,还得重新找其他可靠方法,通过查看MSDN的帮助文件,得知其因SQLSERVER的访问级别造成,手动不行,就用命令,通过执行下面的命令后,即可成功还原。
USE master
GO
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
再次附加,即可成功。
附注:
使用 filestream_access_level 选项可以更改此 SQL Server 实例的 FILESTREAM 访问级别。
注意 |
---|
必须先启用 Windows FILESTREAM 管理设置,然后此选项才会生效。 可以在安装 SQL Server 时启用这些设置,也可以使用 SQL Server 配置管理器进行启用。 |
值 |
定义 |
---|---|
0 |
为此实例禁用 FILESTREAM 支持。 |
1 |
针对 Transact-SQL 访问启用 FILESTREAM。 |
2 |
针对 Transact-SQL 和 Win32 流访问启用 FILESTREAM。 |
在此仅做下记录,帮助遇到同样问题的人,少走弯路。
欢迎加入数据库交流群(多位DBA阵容),群号:190401986 (注:博客园邀请进入)