【问题标题】:Create database using script at the default path?在默认路径下使用脚本创建数据库?
【发布时间】:2012-01-12 15:02:56
【问题描述】:

我在 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 可能并不存在于所有计算机上,这就是我希望数据库引擎选择它的原因

【问题讨论】:

    标签: sql-server database database-scripts


    【解决方案1】:

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

    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
    

    【讨论】:

    • 是的,我已经在尝试将其选为最佳,但 stackoverflow 不允许我这么早选择
    【解决方案2】:

    为什么不直接使用:

    CREATE DATABASE [POS];
    

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

    【讨论】:

    • 它将使用 POS 和 POS_log 作为默认值。至少在我的情况下。
    猜你喜欢
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2011-11-21
    • 2013-06-26
    • 1970-01-01
    • 2015-12-06
    相关资源
    最近更新 更多