无文件名创建数据库?

use*_*856 1 sql t-sql sql-server

是否可以通过为其提供没有文件名的逻辑名来创建数据库 - >这应该导致在数据库名称的默认路径中创建数据库?mdf?

CREATE DATABASE A
ON PRIMARY (
name = Z)
Run Code Online (Sandbox Code Playgroud)

我从Microsoft文档中找到了这个:

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

为什么当我尝试上面的查询时,我收到一个错误:

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

除非我误解了data file name这里指的是什么.

Dan*_*man 6

这是SQL Server CREATE DATABASE语法的限制.根据文档,该<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 | % ] ]  
)  
} 
Run Code Online (Sandbox Code Playgroud)