无文件名创建数据库?

时间:2017-04-30 13:40:33

标签: sql sql-server tsql

是否可以通过为其提供没有文件名的逻辑名来创建数据库 - >这应该导致使用数据库name.mdf?

在默认路径中创建数据库
CREATE DATABASE A
ON PRIMARY (
name = Z)

我是从Microsoft文档中找到的:

  

如果未指定数据文件名,则SQL Server将database_name用作logical_file_name和os_file_name。默认路径是从注册表获取的。可以使用Management Studio中的“服务器属性”(数据库设置页面)更改默认路径。更改默认路径需要重新启动SQL Server。

为什么当我尝试上面的查询时出现错误:

  

此CREATE / ALTER DATABASE语句中需要文件选项FILENAME。

除非我误解了data file name在这里引用的内容。

2 个答案:

答案 0 :(得分:6)

这是SQL Server CREATE DATABASE语法的限制。根据{{​​3}},<filespec>子句是可选的。但是,在指定时(包括非默认逻辑名称),必须同时指定NAME和FILENAME。 <filespec>子句语法为:

{  
(  
    NAME = logical_file_name ,  
    FILENAME = { 'os_file_name' | 'filestream_path' }   
    [ , SIZE = size [ KB | MB | GB | TB ] ]   
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]   
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]  
)  
} 

答案 1 :(得分:0)

只需使用

CREATE DATABASE A

应该可以。