SSMS
 sql >> база данни >  >> Database Tools >> SSMS

Powershell:Генератор на скриптове на SQL Server Management Studio

Този въпрос е тук от известно време и вероятно вече сте намерили отговора си, но за тези, които търсят прост начин да направят това, текущите версии на SQL сървърните модули Powershell имат собствени команди и методи, които поддържат тази функционалност от SMO.

Можете да използвате Get-SqlDatabase и методи като .Script() и .EnumScript().

Например, това ще генерира скриптове CREATE за дефинирани от потребителя функции и ще ги запише във файл:

$Database = Get-SqlDatabase -ServerInstance $YourSqlServer -Name $YourDatabaseName

$MyFuncs = $Database.UserDefinedFunctions | Where Schema -eq "dbo"
$MyFuncs.Script() | Out-File -FilePath ".\SqlScripts\MyFunctions.sql"

Ако искате скриптови данни и елементи като индекси, ключове, тригери и т.н. ще трябва да посочите опциите за скриптове, като това:

$scriptOptions = New-Object -TypeName Microsoft.SqlServer.Management.Smo.ScriptingOptions

$scriptOptions.NoCollation = $True
$scriptOptions.Indexes = $True
$scriptOptions.Triggers = $True
$scriptOptions.DriAll = $True
$scriptOptions.ScriptData = $True

$Database.Tables.EnumScript($scriptOptions) | Out-File -FilePath ".\AllMyTables.sql"

Имайте предвид, че методът Script() не поддържа данни за скриптове. Използвайте EnumScript() за таблици.

Ако искате да скриптирате само данни, както е поискано, можете да опитате $scriptOptions.ScriptData = $True и $scriptOptions.ScriptSchema = $False .




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Не може да се импортира/разгръща база данни в SQL Azure:Посочената цел на услугата (бизнес/уеб) е невалидна.

  2. Загубен IntelliSense в SQL Server Management Studio

  3. Какво представлява прекъсната / пунктирана линия на връзката в SQL Management Studio - Диаграма на базата данни

  4. Създаване на регистрирани сървъри чрез Powershell в SSMS

  5. Как да създам SQL таблица под различна схема?