【发布时间】:2019-02-11 11:12:49
【问题描述】:
Here我找到了手动创建数据种子脚本的解决方案。手动解决方案允许我选择要为哪些表生成 inserts
我想知道是否有通过 PowerShell 运行相同进程的选项?
到目前为止,我已经管理了如何创建用于创建数据库 schema 播种器的 SQL 脚本:
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$s = new-object ('Microsoft.SqlServer.Management.Smo.Server') "(localdb)\mssqlLocalDb"
$dbs=$s.Databases
#$dbs["HdaRoot"].Script()
$dbs["HdaRoot"].Script() | Out-File C:\sql-seeding\HdaRoot.sql
#Generate script for all tables
foreach ($tables in $dbs["HdaRoot"].Tables)
{
$tables.Script() + "`r GO `r " | out-File C:\sql-seeding\HdaRoot.sql -Append
}
但是有没有类似的方法来生成数据种子脚本?
有什么想法吗?干杯
【问题讨论】:
-
问题到底是什么?如果您可以将其更改为作为纯 powershell 运行?
-
我想使用 PowerShell 从 SSMS 运行数据播种功能并生成 SQL 脚本
-
LoadWithPartialName 现在是 obsolete。 PowerShell V3 及更高版本的推荐解决方案是使用 Add-Type cmdlet。
-
好的,我会记住这一点,但是是否有一个选项可以构建类似的脚本来为每个表创建种子脚本?
标签: sql powershell tsql ssms