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

我在测试数据库中创建了一个新的数据库图,它在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等)也是可行的,但我对这些选项的了解甚少.

相关文章

(一)日志传送架构 (1.1)相关服务器 主服务器 :用于生产的服务器,上面运行这生产SQL Server数据库...
(一)事故背景 最近在SQL Server 2012生产数据库上配置完事物复制(发布订阅)后,生产数据库业务出现了...
(一)测试目的 目前公司使用的SQL SERVER 2012高可用环境为主备模式,其中主库可执行读写操作,备库既...
(一)背景个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制。在...
UNION和OR谓词 找出 product 和 product2 中售价高于 500 的商品的基本信息. select * from product wh...
datawhale组队学习task03