web-dev-qa-db-fra.com

Créer une base de données en utilisant un script sur le chemin par défaut?

J'ai généré un script d'une base de données dans SQL Server 2008. Le script généré a le chemin codé en dur de l'endroit où la base de données serait créée. Je ne veux pas que ce chemin soit codé en dur, je veux que ce chemin utilise la valeur par défaut du moteur de base de données sur lequel le script s'exécute.

Voici la petite partie du script:

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

Le chemin C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\POS.mdf peut ne pas exister sur tous les ordinateurs, c'est pourquoi je souhaite qu'il soit choisi par le moteur de base de données

24
Uzair Farooq

Créez simplement la base de données puis ajustez toutes les propriétés nécessaires directement dans les fichiers

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

Pourquoi ne pas utiliser simplement:

CREATE DATABASE [POS];

Cela créera la base de données avec tous les paramètres par défaut (y compris les chemins). Vous pouvez modifier tout paramètre que vous souhaitez ultérieurement.

16
Mithrandir