AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MSSQL Datenbank in Ordner "Eigene Dateien" erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL Datenbank in Ordner "Eigene Dateien" erstellen

Ein Thema von Daniela.S · begonnen am 15. Dez 2009 · letzter Beitrag vom 16. Dez 2009
Antwort Antwort
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#1

MSSQL Datenbank in Ordner "Eigene Dateien" erstell

  Alt 15. Dez 2009, 11:42
Datenbank: MSSQL • Version: Express 2005 • Zugriff über: SQL
Hallo,

ich habe beim Erstellen einer MSSQL Datenbank ein kleines Problem. Und zwar möchte ich die Datenbank in dem Ordner "Eigene Dateien" erstellen. Also nicht im Default "programme\mssql..." Verzeichnis.

Auf meinem Entwicklungsrechner hat das auch tadellos funktioniert (WinXP, User als Admin). Auf einem anderen PC (ebenso WinXP, User als Admin) schlägt das Erstellen aber mit der Meldung "5133 - Betriebssystemfehler5(Zugriff verweigert)" fehl. Der Benutzer ist aber als Admin angemeldet und kann natürlich in seinem eigenen Ordner Dateien erstellen. Ich konnte keinen Unterschied der beiden Benutzer und Berechtigungen auf den beiden PCs finden. Auch wenn ich den sa User vom SQL Server verwende bekomme ich den selben Fehler. Der SQL Server verwendet die Windows Authentifizierung. Das Zielverzeichnis existiert natürlich auch. Eigenlich sollte für das Ganze ja gar kein Admin User erforderlich sein.

SQL Befehl schaut so aus...

SQL-Code:
USE [master]
CREATE DATABASE [testdb] ON PRIMARY
( NAME = N'TESTDB', FILENAME = N'C:\Dokumente und Einstellungen\User\Anwendungsdaten\Database\testdb.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
...
Vielleicht sitze ich jetzt schon zu lange daran und sehe die Lösung nicht
Im Internet lässt sich auch nichts brauchbares finden.
für Tipps bin ich echt dankbar
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers

  Alt 15. Dez 2009, 11:44
Und hat auch der Dienst unter dem der MS SQL-Server läuft Zugriff auf das Verzeichnis?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers

  Alt 15. Dez 2009, 11:45
Verwende mal nicht den absoluen Pfad, sondern mit specialfolder
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#4

Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers

  Alt 15. Dez 2009, 11:56
Den Pfad hab ich über eine Funktion, die den Pfadnamen über SHGetSpecialFolderLocation - CSIDL_APPDATA ermittelt, eingefügt. Der Dienst ist bei beiden Systemen "NT AUTHORITY\NetworkService". Hab bei der Installation eigentlich auch das Gleiche gemacht...
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#5

Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers

  Alt 15. Dez 2009, 12:26
...habe gesehen, dass ich auf dem einen PC den gesamten User-Ordner freigegeben habe
Da hat natürlich dann auch der Dienst zugriff darauf. Vielleicht ist es Zeit für heute Feierabend zu machen *gg*
Danke euch jedenfalls

Andererseits wäre es trotzdem interessant zu wissen wie ich die Datenbank da rein bringe. Das würde die Datensicherung für Benutzer auf jeden Fall erleichtern. Gibt es eine Funktion, die ich in ein Setup einbauen kann, um die Berechtigung eines Ordners zu ändern?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers

  Alt 15. Dez 2009, 14:17
Das was du vorhast ist nicht empfehlenswert.
Die Express-Edition wird üblicherweise als "Benannte Instanz" installiert,
das heisst das man mehrere Instanzen (auch verschiedene Versionen 2000, 2005 und 2008) auf dem gleichen Rechner installieren kann.
Der SQL Server läuft als Dienst unter einem bestimmten Konto (meistens das Systemkonto).
Sobald der Dienst gestartet wird, versucht er alle Datenbanken einzubinden und online zu schalten.
Wenn du nun die Datenbank unter eigene Dateien des Admins ablegen möchtest ist die Wahrscheinlichkeit hoch, dass der Dienst dort keine Rechte hat.
Das Verzeichnis gehört dem Admin; der Dienst hat dort keine Rechte.
Ich würde dir empfehlen, das Standardverzeichnis des SQL Server zu verwenden.

Zum Thema Datensicherung:
Man kann beim SQL Server nicht einfach die Datenbankdateien sichern weil sie ja im exklusiven Zugriff sind.
Man müsste vorher den Server herunterfahren/Dienst beenden.
Die richtige Vorgehensweise ist dem SQL-Server einen Backup-Befehl zu schicken und dann die *.bak Datei zu sichern.
Vollbackup einer SQL Server Datenbank erstellen
Backups können beim SQL Server auch während des laufenden Betriebs erzeugt werden.
Beim Erstellen des Backups muss man die BAK-Datei mit Pfad angeben.
Diese Datei muss auf den lokalen Platten des Rechners liegen. Netzwerkplatten oder entfernbare Medien (USB-Stick) sind meines Wissens nicht erlaubt.

Für gewerbliche Zwecke würde ich empfehlen die Standard-Edition des SQL Servers einzusetzen.
Sie beinhaltet unter anderem den SQL Server Agent.
Der Agent kann zeitgesteuert Backups der Datenbank erstellen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#7

Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers

  Alt 16. Dez 2009, 07:09
Guten Morgen Shmia,

danke dir. Denke du hast recht. Werde eine Oberfläche mit den wichtigsten Funktionen erstellen, dann sollte das für einen User auch einfach zu bedienen sein...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz