我在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
,这就是我希望数据库引擎选择它的原因
答案 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];
这将创建具有所有默认设置(包括路径)的数据库。您可以稍后更改您喜欢的任何设置。