![]() |
Datenbank: MSSQL • Version: Express 2005 • Zugriff über: SQL
MSSQL Datenbank in Ordner "Eigene Dateien" erstell
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:
Vielleicht sitze ich jetzt schon zu lange daran und sehe die Lösung nicht :wall:
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 ) ... Im Internet lässt sich auch nichts brauchbares finden. für Tipps bin ich echt dankbar :-D |
Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers
Und hat auch der Dienst unter dem der MS SQL-Server läuft Zugriff auf das Verzeichnis?
|
Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers
Verwende mal nicht den absoluen Pfad, sondern mit specialfolder
|
Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers
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...
|
Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers
...habe gesehen, dass ich auf dem einen PC den gesamten User-Ordner freigegeben habe :wall:
Da hat natürlich dann auch der Dienst zugriff darauf. Vielleicht ist es Zeit für heute Feierabend zu machen *gg* Danke euch jedenfalls :-D 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? |
Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers
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. ![]() 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. |
Re: MSSQL Datenbank in Ordner "Eigene Dateien" ers
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... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz