26

我在 SQL Server 2008 中生成了一个数据库脚本。生成的脚本具有创建数据库的硬编码路径。我不希望这条路径被硬编码,我希望这条路径使用运行脚本的数据库引擎的默认值。

这是脚本的一小部分:

CREATE DATABASE [POS] ON  PRIMARY 
( NAME = N'POS', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\POS.mdf' , SIZE = 2048KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'POS_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\POS_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

该路径C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\POS.mdf可能并不存在于所有计算机上,这就是我希望数据库引擎选择它的原因

4

2 回答 2

37

只需创建数据库,然后直接在文件中调整所有需要的属性

CREATE DATABASE [POS] 
GO
ALTER DATABASE POS MODIFY FILE 
( NAME = N'POS' , SIZE = 3048KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
GO
ALTER DATABASE POS MODIFY FILE 
( NAME = N'POS_log' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
于 2012-01-12T15:11:08.357 回答
16

为什么不只使用:

CREATE DATABASE [POS];

这将使用所有默认设置(包括路径)创建数据库。您可以稍后更改您喜欢的任何设置。

于 2012-01-12T15:11:00.060 回答