我想将数据库复制到另一个sql server,但我只想复制结构(视图,存储过程,表,字段,索引等),没有行。 我尝试从sql server管理生成脚本,但脚本非常冗长(任务菜单>创建为)
答案 0 :(得分:3)
按照以下步骤生成脚本:
最后完成此过程
您可以使用SQL Server Management Object API(请参阅任务"creating, altering and removing databases"):
用于生成sql脚本的C#代码:
public string GenerateScript()
{
var sb = new StringBuilder();
var srv= new Server(@"Your Database Server Name");
var db= server.Databases["Your Database name"];
var scrpt = new Scripter(srv);
scrpt.Options.ScriptDrops = false;
var obj= new Urn[1];
foreach (Table tbl in db.Tables)
{
obj[0] = tbl.Urn;
if (tbl.IsSystemObject == false)
{
StringCollection sc = scripter.Script(obj);
foreach (var st in sc)
{
sb.Append(st);
}
}
}
return sb.ToString();
}
答案 1 :(得分:2)
它的一些限制是:
1.快速版中没有“复制数据库向导”。
1.复制数据库向导不能用于复制或移动以下数据库: 是系统。 标记为复制。 标记为无法访问,正在加载,脱机,恢复,可疑或处于紧急模式。 将数据或日志文件存储在Microsoft Azure存储中。