sql-server - 如何为新的 SQL Server 数据库文件创建写入权限
问题描述
我在 Windows Server 2012 R2 上的 VM 中运行 SQL Server 2016。主机是 Windows 7。
在 VM 本地C:
驱动器上,我映射了一个共享网络驱动器 ( Z:\
),该驱动器指向F:\
主机上的另一个驱动器 ()。我可以F:
在 Windows 资源管理器中从 VM 访问驱动器。
我正在尝试在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, Level 16, State 8, Line 112
找不到或无法初始化语句中列出的一个或多个文件。
我似乎无法弄清楚如何让 SQL Server 访问该驱动器。
当我右键单击共享文件夹 ( Z:
) 时,没有高级共享选项(只有“常规”、“以前的版本”和“自定义”选项卡)。
有谁知道我还能做什么?
谢谢!Ĵ
解决方案
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
推荐阅读
- php - 在 WordPress 仪表板自定义小部件上显示用户名和电话
- electron - 将屏幕笔集成到 Jitsi-meet 电子桌面应用程序
- r - 转换时间不适用于列的数据框
- sql - 将 JSON 数组中的属性转换为逗号分隔的字符串
- user-interface - 在 ARCore 中使用 Filament 创建 UI 元素的最佳方式是什么?
- node.js - 编译后无法覆盖“用户”模型。解决不了
- android - 为什么 Google 会审核旧的 app bundle 而不是新的 app bundle?
- android - 当我使用本机应用程序包名称和密钥库文件颤动 android 应用程序时,为什么 google 登录不起作用?
- python - 用 pandas 读取 json,列有问题
- r - 根据每个组的特定行计算 R 中的行之间的差异