症状
假设你将数据库文件保存在 Azure Premium 存储中。 在 SQL Server 2014 中的数据库上运行 DBCC CHECKDB 时,可能会收到类似于以下内容的错误消息:
消息1823、级别16、状态2、行3A 数据库快照无法创建,因为它无法启动。无法创建消息1823、Level 16、State 8、Line 3A 数据库快照,因为它无法启动。消息5120、级别16、状态147、行3Unable 以打开物理文件 blob_storage_URL_path。 操作系统错误24: "24 (程序发出命令,但命令长度不正确。)"。消息7928、级别16、状态1、行3The 数据库快照无法创建联机检查。 原因可能是以前的错误或基础卷之一不支持稀疏文件或备用流。 尝试获取独占访问权限以脱机运行检查。消息5030、Level 16、State 12、Line 3The 数据库无法以独占方式锁定来执行该操作。消息7926、级别16、状态1、行3Check 语句已中止。 无法检查数据库,因为无法创建数据库快照,并且无法锁定数据库或表。 有关何时出现此行为以及有哪些解决方法的详细信息,请参阅联机丛书。 有关更多详细信息,另请参阅以前的错误。
解决方案
此问题首先在 SQL Server 的以下累积更新中修复:
累积更新 8 FOR Sql server 2014 Service Pack 1 累积更新2(适用于 SQL server 2014 SP2 )
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
对Azure 存储上的数据文件的高级存储支持使用 SQLXI 直接在 azure Blob 存储上创建 SQL Server 2014 数据库了解 Microsoft 用于描述软件更新的术语。