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这里指的是什么.
这是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)