You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

从SQL Server 2012还原备份至2017时遇FILESTREAM禁用错误求助

嘿,这个问题我之前也碰到过——你的SQL Server 2017实例没启用FILESTREAM功能,但要还原的备份里刚好包含FILESTREAM类型的数据,所以直接还原就失败了。SQL Server只有开启FILESTREAM后,才能处理带这类数据的备份操作,下面给你两种可行的解决方法:

方法1:通过SQL Server Management Studio(SSMS)启用FILESTREAM
  • 打开SQL Server Configuration Manager,找到你的SQL Server 2017实例(比如默认的MSSQLSERVER,或者你自定义的实例名)
  • 右键点击该实例,选择属性,切换到FILESTREAM选项卡
  • 按需勾选以下选项(至少勾选前两个才能还原带FILESTREAM的备份):
    • 针对Transact-SQL访问启用FILESTREAM
    • 针对文件I/O流访问启用FILESTREAM
    • 如果需要让远程客户端访问FILESTREAM数据,再勾选允许远程客户端针对FILESTREAM数据进行流访问
  • Windows共享名称处填写一个共享名(比如SQL_FS_Share),点击应用
  • 回到SSMS,连接到你的实例,右键点击服务器节点,选择属性,切换到高级选项卡
  • FILESTREAM区域,把FILESTREAM访问级别设置为完全访问启用,点击确定
  • 最后重启SQL Server服务,确保所有设置生效
方法2:通过T-SQL命令启用FILESTREAM

如果更习惯用脚本操作,可以执行以下命令:

-- 设置FILESTREAM访问级别为完全启用(2=完全访问,1=仅T-SQL访问,0=禁用)
EXEC sp_configure filestream_access_level, 2;
RECONFIGURE;

执行完命令后,同样需要重启SQL Server服务让设置生效。

验证FILESTREAM是否启用成功

可以运行以下查询确认配置状态:

SELECT 
    SERVERPROPERTY('FilestreamConfiguredLevel') AS 配置级别,
    SERVERPROPERTY('FilestreamEffectiveLevel') AS 生效级别;

如果生效级别和你设置的数值一致,就说明FILESTREAM已经成功启用了。

现在你可以重新尝试还原数据库备份,要是需要修改FILESTREAM数据的存储路径,记得在还原向导的文件选项卡中调整对应的文件夹位置哦。

内容的提问来源于stack exchange,提问作者Asif Hameed

火山引擎 最新活动