加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 如何将数据库图从一个服务器移动到另一个服务器

发布时间:2020-12-12 08:43:33 所属栏目:MsSql教程 来源:网络整理
导读:我在测试数据库中创建了一个新的数据库图,它在sitde01服务器中.现在我想把它移动到另一个服务器.如何将其迁移到另一个服务器. 解决方法 可以做到这一点,但是这是一种皇室痛苦.这是一个进程和一些脚本的大纲. 图表存储在名为sysDiagrams的“系统”表中.当您单
我在测试数据库中创建了一个新的数据库图,它在sitde01服务器中.现在我想把它移动到另一个服务器.如何将其迁移到另一个服务器.

解决方法

可以做到这一点,但是这是一种皇室痛苦.这是一个进程和一些脚本的大纲.

图表存储在名为sysDiagrams的“系统”表中.当您单击SSMS中的图节点时,会创建此表(仅?),它会询问您是否要创建支持图的对象,并单击“是”.在源数据库和目标数据库上都这样做.

在“源”数据库中创建图表.

查看sysDiagrams的结构和内容.请注意,columns diagram是一个标识列.每个图表存储1行. (你不在乎,但SQL 2000中曾经是4或5行)

要复制到同一SQL实例上的另一个数据库,最简单的方法是在表之间执行INSERT … SELECT ….使用该标识列,您将不得不对SET IDENTITY_INSERT感到惊讶,也可能在目标计算机上分配一个新的标识值.有刺激性,但不是极度困难.

以下脚本将将所有图表从一个数据库复制到同一个服务器上的另一个(这是我如何归档复杂的图表,使得waaaay太长时间无法创建,容易被丢弃和重新创建的数据库):

USE TargetDatabase

DELETE sysDiagrams
 where name in (select name from SourceDatabase.dbo.sysDiagrams)

SET identity_insert sysDiagrams on

INSERT sysDiagrams (name,principal_id,diagram_id,version,definition)
 select name,definition
  from SourceDatabase.dbo.sysDiagrams

SET identity_insert sysDiagrams off

要复制到其他SQL实例(或服务器)上的另一个数据库,那么它变得更加困难.我使用临时创建的链接服务器定义,使用脚本我多年前出汗的子弹,并且不想再次修改(即发布一个不同的问题,所以知道谁可以告诉你他们如何工作),并修改脚本与适当的四部分命名约定.其他选项(OPENROWSET等)也是可行的,但我对这些选项的了解甚少.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读