mysql - 在另一台服务器上创建数据库的简化版本

标签 mysql sql sql-server database

我需要为我们的一些.Net 应用程序创建一个测试环境,其中一些应用程序仅使用一些相当大的数据库的一小部分。我的想法是创建一个“小型”数据库,它只保存应用程序正在使用的表、存储过程、 View 等。

这有望加快这些“小型”数据库的刷新时间,但是我看不到执行此操作的简单方法,是否有一个选项可以在 SQL Server 中或通过 T-SQL 脚本轻松执行此操作。

目前,我拥有的最好方法是从数据库生成脚本,并且仅选择我需要的表并选择“仅数据”选项,然后在“小型”数据库上运行这些表以获取最新数据。然而,正如你想象的那样,这是一个漫长的过程,我更喜欢使用更自动化的东西。 非常感谢您提供的任何建议。

谢谢, 迈克尔·坦佩斯特

最佳答案

数据库镜像可以解决这个问题,只在测试数据库上发布您想要的项目/文章,您可以在需要时暂停和重新启动镜像。
SSMS 脚本为 另一种简单的方法是在 SSMS 中右键单击要复制到测试数据库的对象,然后将脚本设置为“创建”,对要移动的所有项目执行此操作,将脚本保存在右侧顺序,即(首先创建表,然后关联对象)在一个文件中,然后在目标数据库上运行它。
由于只有您知道将哪些项目移至测试数据库,因此我认为很难找到适合您需求的脚本。
使用 SCRIPT AS 选项的一些有用技巧
为对象生成 sql 脚本:

  • SQL Server Management Studio > 数据库 > 数据库 1 > 任务 >
    生成脚本...
  • SQL Server 脚本向导将启动并
    您可以选择要导出到脚本中的对象和设置
  • 默认情况下,索引和触发器的脚本不是 包括在内,因此请确保打开这些(以及您认为的任何其他内容) 有兴趣)。

从表中导出数据:

  • SQL Server Management Studio > 数据库 > 数据库 1 > 任务 > 导出数据...
  • 选择源数据库和目标数据库
  • 选择要导出的表•确保选中身份插入 每个表的复选框,这样就不会创建新的身份。

然后创建新数据库,运行脚本来创建所有对象,然后导入数据。

关于mysql - 在另一台服务器上创建数据库的简化版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19704936/

相关文章:

sql - 找不到多部分标识符的错误

sql-server - 查询 : RequestError: Conversion failed when converting date and/or time from character string 中出现一些错误

sql-server - 如何在 Orchard 中使用带有 int key (NOT IDENTITY) 的 IRepository

php - 使用 Laravel 迁移添加外键约束

PHP:While循环与获取数组永远运行?

具有 group by 和 join 的 MySQL 聚合函数

MySQL,显示行和列之间的具体值

java - 将元组数组发送到准备好的语句

MySql - 不支持 BLOB/TEXT 列

php - "Content type"数据库字段