Hi, ich möchte mittels Powershell / SMO eine SQL Datenbank unter einem bestimmten Pfad anlegen. Ich bekomme leider die Fehlermeldung: Bei CREATE FILE wurde beim Versuch, die physische Datei 'C:\Acs\GRU\dbfiles' zu öffnen oder zu erstellen, der Betriebssystemfehler 5(Zugriff verweigert) erkannt. Interessant ist wenn ich die Datenbank im Standard Verzeichnis anlege funktioiert es. Folgendes habe ich versucht. NT Service\MSSQL$SQLEXPRESS User Vollzugriff auf das Verzeichnis. Skript als Admin ausgeführt, Owner gewechselt, Jeden Vollzugriff auf das Verzeichnis. Ich benutze Windows Server 2012 und SQL Express 2012. Anbei das Script. Hat noch jemand eine Idee?
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') #| out-null
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMOExtended') #| out-null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlEnum") #| out-null
$filePath = "C:\Acs\GRU\dbfiles"
$srv = New-Object Microsoft.SqlServer.Management.Smo.Server('Server\SQLEXPRESS')
$db = New-Object Microsoft.SqlServer.Management.Smo.Database($srv, 'testDB')
$fileGroup = New-Object Microsoft.SqlServer.Management.Smo.FileGroup($db, "PRIMARY")
$dataFile = New-Object Microsoft.SqlServer.Management.Smo.DataFile($fileGroup, "DataFile", $filePath)
$fileGroup.Files.Add($dataFile)
$db.FileGroups.Add($fileGroup)
$db.Create()
Problem gelöst. Man muss den vollständigen Pfad angeben. Also
$filePath = "C:\Acs\GRU\dbfiles\testDB.mdf"