2012-01-12 39 views
22

Tôi đã tạo một tập lệnh cơ sở dữ liệu trong SQL Server 2008. Kịch bản được tạo có đường dẫn mã hóa cứng nơi cơ sở dữ liệu sẽ được tạo. Tôi không con đường này được hardcoded, tôi muốn con đường này để mặc định của cơ sở dữ liệu động cơ kịch bản đang chạy trên hoặc một số như thế.Tạo cơ sở dữ liệu bằng tập lệnh ở đường dẫn mặc định?

Đây là phần nhỏ của kịch bản:

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 

Đường dẫn C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\POS.mdf có thể không tồn tại trên tất cả các máy tính đó là lý do tại sao tôi muốn nó được lựa chọn bởi cơ sở dữ liệu

Trả lời

33

Đơn giản chỉ cần tạo ra cơ sở dữ liệu và sau đó điều chỉnh tất cả các thuộc tính cần thiết trực tiếp trong file

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 
+0

làm việc tuyệt vời ... cảm ơn –

+0

Cảm ơn tốt nhất luôn luôn là upvote và chấp nhận câu trả lời 8-) –

+0

vâng, tôi đã cố gắng chọn nó là tốt nhất nhưng stackoverflow không cho phép tôi chọn sớm –

16

Tại sao không sử dụng chỉ :

CREATE DATABASE [POS]; 

Điều này sẽ tạo cơ sở dữ liệu với tất cả cài đặt mặc định (bao gồm đường dẫn). Bạn có thể thay đổi bất kỳ cài đặt nào bạn muốn sau này.

+0

Nó sẽ sử dụng POS và POS_log như mặc định. Trong trường hợp của tôi ít nhất. – kampsj

Các vấn đề liên quan