Автоматизировать только схемы базы данных SQL Server Резервные копии - PullRequest
0 голосов
/ 29 мая 2019

Мне нужно ежедневно создавать резервные копии схемы SQL Server для всех баз данных.Таким образом, мне не нужно восстанавливать всю 700 ГБ базу данных для одной структуры таблицы.

Любая помощь приветствуется.

Спасибо

1 Ответ

0 голосов
/ 29 мая 2019

Вы можете извлечь файл .dacpac, и он будет содержать определение всего объекта в базе данных. Затем вы будете использовать его в сравнении схем Visual Studio для поиска измененных объектов.
Запутанные («зашифрованные») хранимые процедуры не будут включены в выписку.
Пример сценария:

## Set a SMO Server object to the default instance on the local computer.  
CD SQLSERVER:\SQL\localhost\DEFAULT  
$srv = get-item .  

## Specify the database to extract to a DAC.  
$dbname = "MyDB"  

## Specify the DAC metadata.  
$applicationname = "MyApplication"  
$version = "1.0.0.0"  
$description = "This DAC defines the database used by my application."  

## Specify the location and name for the extracted DAC package.  
$dacpacPath = "C:\MyDACs\MyApplication.dacpac"  

## Extract the DAC.  
$extractionunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)  
$extractionunit.Description = $description  
$extractionunit.Extract($dacpacPath)  
...