thi*_*cfb 15 sql-server sql-server-2012
我正在尝试在 SQL Server Management Studio 中执行以下脚本:
USE [master]
GO
CREATE DATABASE [test1] ON PRIMARY (
NAME = N'test1',
FILENAME =
N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\test1.mdf',
SIZE = 70656KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB)
LOG ON (
NAME = N'test1_log',
FILENAME =
N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\test1_log.ldf',
SIZE = 164672KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
消息 5123,级别 16,状态 1,第 2 行
CREATE FILE
在尝试打开或创建物理文件
'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\ 时遇到操作系统错误 5(访问被拒绝。)数据\test1.mdf'。消息 1802,级别 16,状态 4,第 2 行
创建数据库失败。无法创建列出的某些文件名。检查相关错误。
我的用户已经拥有所有角色权限,有什么想法吗?
mrd*_*nny 21
您收到权限错误。运行 SQL Server 的帐户对将包含数据库文件的文件夹没有所需的权限。
您需要让运行 SQL Server 的帐户(不是您的帐户)完全控制 C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA。
根据我们的评论线程,听起来您在安装过程中可能有点偏向一边。安装程序允许您选择默认数据目录,并(我假设)为您指定的服务帐户在该目录上设置适当的权限。
在您的CREATE DATABASE
声明中,您指定了一个位置,但该位置是原始设置中指定的位置吗?服务帐户是否已更改?
测试这个的一种方法是运行一个通用的
CREATE DATABASE [test1];
GO
Run Code Online (Sandbox Code Playgroud)
如果您遇到相同的错误,则可能是服务帐户已更改或有关 NTFS 权限的某些内容已更改。
解析路径(也基于注释字符串)用于确认运行 SQL Server 的服务对您指定的路径具有 R/W 权限。去做这个:
开始->运行services.msc
- > ->滚动服务列表,直到找到SQL Server->右键单击->属性->登录选项卡
现在去确保该帐户对该目录具有适当的权限以执行其需要执行的操作。
归档时间: |
|
查看次数: |
107952 次 |
最近记录: |