如何在SQL Server数据库之间移动图表?

时间:2009-05-13 13:45:00

标签: sql-server publishing diagrams import

我正在尝试将数据库从托管服务器移动到我自己的SQLExpress实例。我使用数据库发布向导来创建脚本......但图表未被传输。

然后,我发现并遵循了该网站上另一个答案的建议,该答案让我将数据导入/导出到sysdiagrams表。

当我这样做时,我会看到Diagrams文件夹中的所有图表。但是,当我尝试打开一个时,我看到每个表的大纲,然后得到一个弹出错误消息,上面写着:

“表格已从图表中删除,因为删除了这些表格的权限或删除了表格。”

当我从弹出窗口退出时,所有表都将从图中删除(除了一个aspnet_xyz成员资格表,这是一个图表的一部分)。

您知道如何在不接收此消息的情况下传输图表吗?

4 个答案:

答案 0 :(得分:1)

您需要删除图表,并在右键菜单中使用"新数据库图表"创建一个新表并添加所需的表,并最终保存。

答案 1 :(得分:0)

最简单的方法是创建整个数据库的备份并将其还原到Express数据库。您收到错误是因为图表不是简单的图纸 - 它们只是一些元数据,它们依赖于它们显示的表格 - 您需要图表所示的表格。如果您不想修改图表,只需将其导出为图像。

答案 2 :(得分:0)

之前我见过类似的东西,它不太相同,但它可能足够接近你。

您最初遇到的麻烦可能是以某种方式将用户权限绑定到旧服务器上。

请参阅http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=120849&SiteID=1和 这个:http://msdn2.microsoft.com/en-us/library/ms143684.aspx

  • 您需要停止“SQL Server(SQLEXPRESS)”服务。

  • 然后删除“\ Documents and Settings \ Username \ Local Settings \ Application Data \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS”文件夹。

  • 重新启动SQL Server。

  • 重新启动Visual Studio。

我希望有所帮助。

答案 3 :(得分:0)

当我使用数据库发布向导重新编写整个数据库脚本时,此问题已停止...这次我指定了“仅架构”而不是“架构和数据”。在我这样做之后,我能够使用导入/导出向导成功导入和打开图表。