如何为新的SQL Server数据库文件创建写权限

问题描述

我在Windows Server 2012 R2的VM中运行sql Server 2016。主机是Windows 7。

在VM本地C:驱动器上,我已映射了指向主机上另一个驱动器(Z:\)的共享网络驱动器(F:\)。我可以从Windows资源管理器中的VM访问F:驱动器。

我正在尝试在F:驱动器上创建一个新的sql Server数据文件

ALTER DATABASE AdventureWorksDW
ADD FILE
    (
        NAME = [FactResellerSales],FILENAME = 'Z:\sql_files\AdventureWorksDW_FactResellerSales.ndf',SIZE = 100MB,MAXSIZE = 1GB,FILEGROWTH = 100MB
    )
TO FILEGROUP [FactResellerSales]

这失败并显示错误

消息5133,第16级,状态1,第112行
文件“ Z:\ sql_files \ AdventureWorksDW_FactResellerSales.ndf”的目录查找失败,出现操作系统错误3(系统找不到指定的路径。)。

Msg 5009,第16级,状态8,第112行
找不到或无法初始化语句中列出的一个或多个文件

我似乎无法弄清楚如何授予sql Server访问该驱动器的权限。

当我右键单击共享文件夹(Z:)时,没有高级共享选项(只有“常规”,“以前的版本”和“自定义”选项卡)。

有人知道我还能做什么吗?

谢谢! J

解决方法

Windows中的驱动器映射是按用户而不是系统范围的。在文件共享上创建数据库时,应使用UNC路径而不是驱动器号映射。参见https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-with-smb-fileshare-as-a-storage-option?view=sql-server-ver15

,

指示z:\指向您的计算机名称 喜欢:

\\计算机名\ SQL_files \ AdventureWorksDW_FactResellerSales.ndf'

它将自动指向您的共享驱动器