是否可以在 Azure SQL 虚拟机上创建数据库快照?

Is it possible to create database snapshots on an Azure SQL virtual machine?

我想知道是否可以在 Azure SQL 虚拟机上创建数据库快照。以下查询:

CREATE DATABASE <DB_Name>_Snapshot on (
    Name = <DB_Name>,
    filename = '\<DB_Name>.ss'
) as snapshot of <DB_Name>;

出现此错误:

A database snapshot cannot be created because it failed to start.

CREATE FILE encountered operating system error 5(Access is denied.) while attempting to open or create the physical file '<DB_Name>.ss'

通常这是一个权限问题,可以通过为 SQL 服务帐户提供相关访问权限来解决,但我不知道是否可以在 SQL 虚拟机上完成。

当我搜索并发现 Azure SQL VM 支持创建数据库快照。这取决于您 SQL 服务器版本。参考这里:Editions and supported features of SQL Server 2016

其他人得到同样的错误,这都是因为你得到了权限错误。 运行 SQL 服务器的帐户对包含数据库文件的文件夹没有所需的权限。

解决方案:检查文件以确保它从父级继承权限并且不属于单个用户。

您引用了这些博客:

  1. https://blog.sqlauthority.com/2018/08/25/sql-server-fix-create-file-encountered-operating-system-error-5-access-is-denied/
  2. https://dba.stackexchange.com/questions/22250/create-file-encountered-operating-system-error-5-access-is-denied
  3. https://knowledge.autodesk.com/support/vault-products/troubleshooting/caas/sfdcarticles/sfdcarticles/CREATE-FILE-encountered-operating-system-error-5-Access-is-denied-when-attaching-databases-in-Vault.html
  4. https://sqlcan.com/2010/04/23/create-file-encountered-operating-system-error-5access-is-denied/

这些链接可以提供解决问题的指南。