Untitled
unknown
plain_text
9 months ago
2.1 kB
2
Indexable
# Konfiguracja $serverName = "NazwaTwojegoSerwera" # Nazwa twojego serwera SQL $databaseFolder = "C:\Sciezka\Do\Folderu\Baz" # Folder, w którym znajdują się pliki baz danych $sqlUsername = "TwojUzytkownikSQL" # Nazwa użytkownika SQL $sqlPassword = "TwojeHasloSQL" # Hasło użytkownika SQL # Tworzenie obiektu poświadczeń SQL $securePassword = ConvertTo-SecureString -String $sqlPassword -AsPlainText -Force $sqlCredential = New-Object System.Management.Automation.PSCredential($sqlUsername, $securePassword) # Zidentyfikuj pliki MDF i LDF $mdfFiles = Get-ChildItem -Path $databaseFolder -Filter *.mdf $ldfFiles = Get-ChildItem -Path $databaseFolder -Filter *.ldf if ($mdfFiles.Count -eq 0) { Write-Output "Nie znaleziono żadnych plików MDF w folderze: $databaseFolder" exit } if ($ldfFiles.Count -eq 0) { Write-Output "Nie znaleziono żadnych plików LDF w folderze: $databaseFolder" exit } # Mapowanie plików MDF do LDF $databases = @{} foreach ($mdf in $mdfFiles) { $dbName = [System.IO.Path]::GetFileNameWithoutExtension($mdf.Name) $ldf = $ldfFiles | Where-Object { $_.Name -like "$dbName.ldf" } if ($ldf) { $databases[$dbName] = @{ MDF = $mdf.FullName LDF = $ldf.FullName } } else { Write-Output "Nie znaleziono pliku LDF dla bazy danych: $dbName" } } # Wykonanie komend T-SQL foreach ($dbName in $databases.Keys) { $mdfPath = $databases[$dbName].MDF $ldfPath = $databases[$dbName].LDF $sqlCommand = @" CREATE DATABASE [$dbName] ON (FILENAME = N'$mdfPath'), (FILENAME = N'$ldfPath') FOR ATTACH; "@ Write-Output "Wykonuję komendę dla bazy danych: $dbName" Write-Output $sqlCommand try { Invoke-Sqlcmd -ServerInstance $serverName -Credential $sqlCredential -Query $sqlCommand Write-Output "Baza danych $dbName została pomyślnie dołączona." } catch { Write-Output "Wystąpił błąd podczas dołączania bazy danych $dbName: $_" } } Write-Output "Proces dołączania baz danych zakończony."
Editor is loading...
Leave a Comment