Server:
Windows Server 2008 R2 X64 企业版
SQL:
SQL Server 2008 R2 企业版 X64
我有一个默认的 SQL Server 实例,SQL Server 服务帐户作为域用户运行。
我正在尝试在存储 mdf 文件的目录中创建数据库快照。T-SQL 语法正确。文件系统是 NTFS。
我收到的错误信息是:
Msg 1823, Level 16, State 2, Line 1
A database snapshot cannot be created because it failed to start.
Msg 5119, Level 16, State 1, Line 1
Cannot make the file "e:\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDB.ss" a sparse file. Make sure the file system supports sparse files.
本地组对我尝试创建快照的文件夹SQLServerMSSQLUser$db$MSSQLSERVER
具有权限。Full Control
我可以用两种方法来解决这个问题,但都不合适。
- 将SQL Server服务(域)帐户添加到本地管理员组并重新启动SQL服务。
- 授予本地
SQLServerMSSQLUser$db$MSSQLSERVER
组Full control
E:\
我尝试将DATA
目录的所有者更改为,但SQLServerMSSQLUser$db$MSSQLSERVER
没有成功。创建新数据库时没有问题
为什么我不能通过仅授予文件夹权限来创建快照DATA
?
2010年9月23日更新:
我尝试了 mrdenny 的建议,但没有成功(但在此过程中学到了一些新东西),我怀疑问题可能是由于该域是运行在混合模式下的 Windows 2000 域。我不得不安装修补程序KB976494对于 Server 2008 R2,因为 SQL Server 2008 R2 安装程序不会使用域正确验证服务帐户。
我注意到 Server 2000 不是 SQL 2008 R2 支持的操作系统,但找不到任何表明它不能在 2000 域中运行的迹象。
我已将测试服务器从域中分离出来,并将服务帐户更改为本地服务帐户,但问题仍然存在。我将尝试在不加入域和不安装修补程序的情况下重新安装服务器,看看问题是否仍然存在。
答案1
这是一个低级 NTFS 错误。该文件就是您尝试为快照创建的文件吗?SQL Server 是否正确进行了即时文件初始化?(这是我能想到的唯一可能导致此问题的原因。)