web-dev-qa-db-ja.com

デフォルトのパスでスクリプトを使用してデータベースを作成しますか?

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すべてのコンピューターに存在しない可能性があるため、データベースエンジンによって選択されるようにしたい

24
Uzair Farooq

データベースを作成し、必要なすべてのプロパティをファイルで直接調整するだけです

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
35
Oleg Dok

なぜ単に使用しないのですか:

CREATE DATABASE [POS];

これにより、すべてのデフォルト設定(パスを含む)でデータベースが作成されます。後で好きな設定を変更できます。

16
Mithrandir