Auslesen des Data Ordners per SQL

05/09/2007 - 17:41 von Grumbach, Andre | Report spam
Hallo zusammen,
Ich versuche derzeit ein Programm zu schreiben, das mir im MS SQl 2005 eine
Datenbank erstellt.
Das funktioniert auch alles soweit, jedoch habe ich ein Problem mit dem
Datepfaden.

Diese sollen im SQL Data bzw. SQL Log Ordner

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data bzw. C:\Program
Files\Microsoft SQL Server\MSSQL.4\MSSQL\LOG abgelegt werden.
Diese kann aber auf jedem Server anders sein. Gibt es eine SQL Abfrage mit
der ich diese Pfade rausbekomme?

Hier meine SQL Befehl. Vielleicht iust hier auch schon etwas falsch.
CREATE DATABASE ABC
ON
PRIMARY
(NAME = ABC,
FILENAME = 'ABC.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'ABC.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)


Danke,
Andre
 

Lesen sie die antworten

#1 Andrej Golubew
06/09/2007 - 15:12 | Warnen spam
Steht in SQL-Hilfe

USE master;
GO
IF DB_ID (N'Sales') IS NOT NULL
DROP DATABASE Sales;
GO
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1,
CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1);

EXECUTE ('CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = '''+ @data_path + 'saledat.mdf'',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = '''+ @data_path + 'salelog.ldf'',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )'
);
GO

GO

"Grumbach, Andre" wrote:

Hallo zusammen,
Ich versuche derzeit ein Programm zu schreiben, das mir im MS SQl 2005 eine
Datenbank erstellt.
Das funktioniert auch alles soweit, jedoch habe ich ein Problem mit dem
Datepfaden.

Diese sollen im SQL Data bzw. SQL Log Ordner

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data bzw. C:\Program
Files\Microsoft SQL Server\MSSQL.4\MSSQL\LOG abgelegt werden.
Diese kann aber auf jedem Server anders sein. Gibt es eine SQL Abfrage mit
der ich diese Pfade rausbekomme?

Hier meine SQL Befehl. Vielleicht iust hier auch schon etwas falsch.
CREATE DATABASE ABC
ON
PRIMARY
(NAME = ABC,
FILENAME = 'ABC.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'ABC.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)


Danke,
Andre




Ähnliche fragen