SQL Server 2005,如何将数据库图表复制到另一台服务器

标签 sql sql-server-2005 tsql ssms

有没有办法将 SQL Server 数据库图表复制到另一台服务器?

我找到了 this并对其进行了粗略的修改以仅复制一张图表:

INSERT INTO dbB.dbo.sysdiagrams 
SELECT [name],[principal_id],[version],[definition]
FROM dbA.dbo.sysdiagrams
Where name = 'MyDiagramName'

但我需要将它复制到另一台服务器(开发到生产)。

我不想创建链接服务器来执行此操作。 ( 更新说明 ) 背后的原因是我想在升级脚本中包含图表。我对数据库进行了更改以支持新版本(新表等),并且我希望图表成为升级脚本的一部分。所以最好我能把它放在一个 SQL 脚本中。如果之后有一个单独的文件要手动导入,它可以完成这项工作,但不是最好的。

所以我需要以某种方式将图表定义“保存”到一个文件中,以便在另一台服务器上恢复它。

最佳答案

刚刚找到 this solution .

在本文中,有创建存储过程的代码,该存储过程生成 SQL Server 脚本以重新创建图表。因此,您只需将存储过程的输出保存在一个 .SQL 文件中,然后在另一台服务器上运行它。

问题是将 Varbinary 转换为十六进制的字符串(Varchar),以便能够在插入/更新查询中使用它。但它在链接中得到了很好的解释......

关于SQL Server 2005,如何将数据库图表复制到另一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310137/

相关文章:

sql-server - 根据 SP 的结果集动态创建临时表

sql - 如何确定导致INSERT中重复输入错误的表行?

SQL 服务器 : verbose error messages?

mysql - JPA |循环遍历 ids 列表并更新 C

sql - 使用 PostgreSQL 仅连接关联表的最后一行

php - 将 MySQL 查询作为多维数组返回

sql - 将 varchar 转换为 bool 值

sql - 没有行但(XLOCK,ROWLOCK)锁定它?

sql - 如何从唯一性由 2 列定义的 SQL 中获取唯一的一组行?

sql - 如何获取自引用表的每条记录的所有子项