使用默认路径下的脚本创建数据库?

时间:2012-01-12 15:02:56

标签: sql-server database database-scripts

我在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,这就是我希望数据库引擎选择它的原因

2 个答案:

答案 0 :(得分:35)

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

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

答案 1 :(得分:16)

为什么不使用:

CREATE DATABASE [POS];

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