【问题标题】:How to import script (.sql extension) database into SQL Server 2012如何将脚本(.sql 扩展名)数据库导入 SQL Server 2012
【发布时间】:2014-02-04 06:13:30
【问题描述】:

我在 SQL Server 2012 Management Studio 中导入数据库脚本时遇到问题,但是,我成功导出了架构和数据。在导出数据库时,我已经完成了以下步骤:

  1. 右键单击Tasks下的数据库;
  2. 点击生成脚本并按照向导进行操作;
  3. 高级选项:脚本的数据类型 = 架构和数据
  4. 完成

但是,当我使用 SQL Server Management Studio 打开文件并将其传输到空数据库(执行script.sql)时,我无法导入它。在 SQL Server 2008 上我可以轻松做到这一点,但在 SQL Server 2012 上,我认为它有问题。

这是截图。

当我尝试在新的数据库副本 (db_Copy) 上执行 script.sql 文件时,下面有一条错误消息。 ''

请帮助我解决这个问题,我在导出数据(生成脚本)时做错了吗?或者它可以在我正在使用的 SQL Server 上?我正在使用 SQL Server 2012 Express。

请帮助我,我要做的就是使用生成的脚本将我的数据库转移到另一个数据库。

提前致谢。

编辑:在空数据库上导入生成的脚本的正确方法是什么?

【问题讨论】:

  • 您不清楚错误怎么办?您尝试在 SQL 脚本中创建的数据库 db_Dasureco 已存在于此 SQL Server 实例上。要么不要尝试再次创建它,要么使用不同的数据库名称......
  • 是的。我试图更改数据库名称,例如。 CREATE DATABASE [db_NewCopyDatabase] ,但它没有执行。我执行了脚本,然后现在运行脚本需要 10 分钟。正常吗?

标签: sql-server-2012 ssms sql-server-2012-express


【解决方案1】:

创建一个空数据库,或者如果您已经有一个目标数据库。

使用提升的权限打开 CMD 并运行:

sqlcmd -S SERVERNAME -d MYDATABASE -U USERNAME -P PASSWORD -i C:\path\mysqlfile.sql -o C:\path\results.txt

基本上:

  • -S: 是你的服务器名或本地主机
  • -d: 是您要定位的数据库
  • -U:是用户名
  • -P:是密码
  • -i: 是您的 .sql 文件的路径
  • -o: 是保存日志文件的位置,因此如果您在导入过程中遇到问题,可以调试它们

【讨论】:

    【解决方案2】:

    将 [db_Dasureco] 替换为 [db_NewCopyDatabase] 不仅在 CREATE DATABASE 中,而且在您看到 [db_Dasureco] 的任何地方都替换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多