如何将 SQL Server DB 结构传输到另一台服务器

发布于 2024-09-06 03:48:44 字数 312 浏览 8 评论 0原文

请告诉我将数据库结构复制到另一台服务器的最佳方法是什么?

我试图在 Management Studio 中生成一个脚本,然后在远程计算机上运行该脚本。我讨厌那件事。它的工作方式不可预测,您必须手动修复生成的脚本中的大量垃圾。我想这不是最好的解决方案。

然后我尝试使用 DTSWizard.exe 生成 SSIS 包,但我对这些东西一无所知,而且我找不到仅复制结构而不复制数据的方法。

也许有一种方法可以将整个数据库结构分解成更小的部分并使用它们 - 首先处理所有表,然后是视图,然后是函数等。

或者有另一种正常的方法可以做到这一点而不会那么头痛?

Tell me please what's the best way to copy db structure to another server?

I'm trying to generate a script in Management Studio and then run that script on the remote machine. And I hate that thing. It works unpredictable, you have to fix manually a lot of crap in the generated script. I guess that isn't the best solution.

Then I tried to generate SSIS package with DTSWizard.exe but I know nothing about that stuff, and I couldn't find a way to copy only the structure without data.

Maybe there is a way somehow to break entire db structure into smaller pieces and work with them - first do all the tables, then views, then functions etc.

Or there is another, normal way to do that without so much headache?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

屋顶上的小猫咪 2024-09-13 03:48:44

生成脚本是最好的解决方案。如果您必须手动修复它,则说明您编写的脚本不正确。使用 Management Studio 中的“生成脚本...”任务

请务必检查:

  1. 您是否生成了适当版本的脚本?
  2. 如果在早期版本的数据库上运行,您是否指定“DROP 和 CREATE”和“IF EXISTS”选项?
  3. 您是否正在编写所有辅助对象(用户、触发器、索引等)的脚本?

Generating a script is the best solution. If you have to fix it manually, you are scripting it incorrectly. Use the "Generate Scripts..." task in Management Studio

Be sure to check:

  1. Are you generating the script for the appropriate version?
  2. Are you specifying "DROP and CREATE" and "IF EXISTS" options if running on an earlier version of the db?
  3. Are you scripting all the auxiliary objects (users, triggers, indexes, etc?)
递刀给你 2024-09-13 03:48:44

如果可以接受第 3 方工具,Red Gate SQL Compare 是一个很棒的工具。

If 3rd party tools are acceptable, Red Gate SQL Compare is a great tool.

忆悲凉 2024-09-13 03:48:44

尝试使用 DBSourceTools。 (http://dbsourcetools.codeplex.com)
它是开源的,专门设计用于编写整个数据库的脚本 - 表、视图、过程到磁盘,然后通过部署目标重新创建该数据库。
您可以为所有数据编写脚本,或者仅指定为哪些表编写数据脚本。
此外,您可以压缩结果以进行分发。
我们用它来控制数据库的源代码,并测试新版本的更新补丁。
在后端,它是围绕 SMO 构建的,因此支持 SQL 2000、2005 和 2008。
DBDiff 已集成,以允许进行模式比较。
玩得开心,
- 内森。

Try DBSourceTools. (http://dbsourcetools.codeplex.com)
Its open source, and specifically designed to script an entire database - tables, views, procs to disk, and then re-create that database through a deployment target.
You can script all data, or just specify which tables to script data for.
Additionally, you can zip up the results for distribution.
We use it for source control of databases, and to test update patches for new releases.
In the back-end it's built around SMO, and thus supports SQL 2000, 2005 and 2008.
DBDiff is integrated, to allow for schema comparisons.
Have fun,
- Nathan.

夜夜流光相皎洁 2024-09-13 03:48:44

尝试 SQL Examiner Suite:
http://www.sqlaccessories.com/SQL_Examiner_Suite/ - 您可以使用以下命令复制架构和数据这个工具

Try SQL Examiner Suite:
http://www.sqlaccessories.com/SQL_Examiner_Suite/ - you can copy both schema and data with this tool

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文