日期:2014-05-19  浏览次数:20679 次

sql express 2005 问题,很急,在线等
create   database   tes
on   primary  
(
name=tes,
filename= 'c:\tes.mdf '
)
错误:
消息   1802,级别   16,状态   4,第   1   行
CREATE   DATABASE   失败。无法创建列出的某些文件名。请查看相关错误。
消息   5123,级别   16,状态   1,第   1   行
尝试打开或创建物理文件   'c:\tes.mdf '   时,CREATE   FILE   遇到操作系统错误   5(拒绝访问。)。
在sql   server   2000   里能够创建


------解决方案--------------------
--錯了, 改改


create database tes
on primary
(
name=tes,
filename= 'c:\tes.mdf '
)
log on
(name=tes_log,
filename= 'c:\tes_log.ldf ')

------解决方案--------------------
你的语句,在SQL2005也没问题
检查一下用户权限、目录访问权限、目标文件是不是存在等等
------解决方案--------------------

SQL2005:
--执行
IF EXISTS (SELECT name FROM sys.databases WHERE name = N 'tes ')
DROP DATABASE tes

create database tes
on primary
(
name=tes,
filename= 'c:\tes.mdf '
)

--结果
命令已成功完成。


------解决方案--------------------
我的可以,刚测试过。

你的错误提示:

你换别的路径试试 filename= 'c:\tes.mdf ' 放在别的盘看看
------解决方案--------------------
可能C盘没写的权限吧,改个盘,D盘

use master
go
xp_cmdshell 'mkdir d:\project ', NO_OUTPUT --创建文件夹project,xp_cmdshell为系统存储过程
--检验数据库是否存在,如果为真,删除此数据库--
IF EXISTS(SELECT NAME FROM master.dbo.SYSDATABASES WHERE NAME=N 'test ')
DROP DATABASE stuDB

GO

--创建数据库--
CREATE DATABASE test
ON
(NAME=N 'stuDB ',
FILENAME= 'd:\project\testDB.mdf ',
SIZE=1mb,
MAXSIZE=10mb,
FILEGROWTH=15%)
LOG ON
(NAME=N 'stuDB_log ',
FILENAME= 'd:\project\testDB.ldf ',
SIZE=1mb,
MAXSIZE=4mb,
FILEGROWTH=15%)

GO
------解决方案--------------------
会不会是ntfs权限问题