执行CREATE DATABASE报错Msg 5105 Level 16文件激活错误如何解决
解决方案
1. 修复路径隐藏字符问题
这是该类报错最常见的诱因:你当前LOG ON部分的FILENAME路径大概率携带了肉眼不可见的Unicode控制字符(通常是从资源管理器地址栏复制路径时带入的左到右标记),请直接手动逐字输入路径值,不要复制粘贴,修改后对应代码段参考:
CREATE DATABASE QuanLySinhVien ON PRIMARY( NAME = QLSV_data, FILENAME = 'E:\HQTCSDL\DaoDuyDan\QLSV_dat.mdf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 2MB) LOG ON( NAME = QLSVlog, FILENAME = 'E:\HQTCSDL\DaoDuyDan\QLSV_log.ldf', SIZE = 5MB, MAXSIZE = 20MB, FILEGROWTH = 1MB)
2. 确认父级目录已创建
SQL Server不会自动生成不存在的父文件夹,请手动打开资源管理器,确认E:\HQTCSDL\DaoDuyDan完整路径存在,如果不存在请逐层创建所有上级文件夹后再执行语句。
3. 配置文件夹访问权限
SQL Server服务运行账户需要目标文件夹的读写权限,操作步骤:
- 右键点击
E:\HQTCSDL\DaoDuyDan文件夹,选择「属性」-「安全」 - 点击「编辑」-「添加」,输入对应SQL Server服务账户:默认实例为
NT SERVICE\MSSQLSERVER,自定义命名实例为NT SERVICE\MSSQL$你的实例名 - 给该账户勾选「完全控制」权限,保存配置后重试
4. 排查残留文件
确认目标文件夹下不存在同名的QLSV_dat.mdf和QLSV_log.ldf文件,如果是之前创建失败的残留文件,移动到其他目录后再执行创建语句。
内容的提问来源于stack exchange,提问作者Duy Dai
相关产品推荐
相关产品推荐

