将数据库结构从sql server复制到其他

时间:2016-07-11 11:53:55

标签: sql-server

我想将数据库复制到另一个sql server,但我只想复制结构(视图,存储过程,表,字段,索引等),没有行。 我尝试从sql server管理生成脚本,但脚本非常冗长(任务菜单>创建为)

2 个答案:

答案 0 :(得分:3)

按照以下步骤生成脚本:

用于生成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)

您使用Copy database wizard

它的一些限制是:

1.快速版中没有“复制数据库向导”。

1.复制数据库向导不能用于复制或移动以下数据库: 是系统。 标记为复制。 标记为无法访问,正在加载,脱机,恢复,可疑或处于紧急模式。 将数据或日志文件存储在Microsoft Azure存储中。