创建数据库时,文件路径出错
大家好, 小弟刚学SQL Server, 花了一个晚上大约看了一个晚上的T-SQL帮助, 编写了如下代码:
use master
------------------------------------------------------------
-----Check whether or not Having created the database-------
------------------------------------------------------------
DECLARE @CurrentDBName nvarchar(35)
SET @CurrentDBName = N'XISES'
DECLARE @CurrentDBPath nvarchar(255)
SET @CurrentDBPath = N'G:\课题\XISES\data'
DECLARE @CurrentDBPrimaryMDF nvarchar(255)
SET @CurrentDBPrimaryMDF = N'XISESData'
DECLARE @CurrentDBLogLDF nvarchar(255)
SET @CurrentDBLogLDF = N'XISESLog'
if not (exists (select * from dbo.sysdatabases where name = @CurrentDBName))
begin
CREATE DATABASE [@CurrentDBName]
ON
(
NAME = [@CurrentDBPrimaryMDF],
FILENAME = [@CurrentDBPath + @CurrentDBPrimaryMDF + N'.mdf'],
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5
)
LOG ON
(
NAME = [@CurrentDBLogLDF],
FILENAME = [@CurrentDBPath + @CurrentDBLogLDF + N'.ldf'],
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB
)
end
GO
程序运行时出现如下问题:
服务器: 消息 5105,级别 16,状态 2,行 17
设备激活错误。物理文件名 '@CurrentDBPath + @CurrentDBPrimaryMDF + N'.mdf'' 可能有误。
服务器: 消息 1802,级别 16,状态 1,行 17
CREATE DATABASE 失败。未能创建所列出的某些文件名。请检查前面的错误信息。
这是什么意思?怎么理解?
我设置的路径是直接从浏览器复制过来的,应该没有问题阿?
我还发现必须加中括号[]才能通过Check语法检查, 这里的[]是什么意思?
希望各位入门之人多多指点!