【问题标题】:How to refresh database data only in SQL Server如何仅在 SQL Server 中刷新数据库数据
【发布时间】:2010-06-08 21:13:18
【问题描述】:

所以我只想将数据从 Prod 数据库 (SQL 2005) 复制到我的本地计算机(安装了 SQL 2005 和 SQL 2008 Management Studio)。

问题是我遇到了导致任务/脚本失败的外键约束。如果我先导入某些表,我可以解决这些错误,但是有没有更简单的方法可以一次完成所有这些操作?我不是 DBA,所以我无权访问备份的数据库。

我尝试了 SQL 导入/导出数据向导和发布向导,但它也得到了 PK 错误。

【问题讨论】:

  • 还有谁知道是否有64位版本的sql management studio(非express)?即使使用 SQL 2008 R2,它也会在 x86 文件夹中安装 Management Studio。

标签: sql-server


【解决方案1】:

我会删除所有外键约束,在您复制所有数据后重新应用。

例如

-- Drop Constraint

 IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].   [FK_ForeignKeyName]') AND parent_object_id = OBJECT_ID(N'[dbo].[Table]'))
 ALTER TABLE [dbo].[Table] DROP CONSTRAINT [FK_ForeignKeyName]


-- Add it back again
ALTER TABLE [dbo].[Table]  WITH CHECK ADD  CONSTRAINT [FK_ForeignKeyName] FOREIGN KEY([FeildName])
REFERENCES [dbo].[OtherTable] ([OtherField])

【讨论】:

    【解决方案2】:

    关于如何全局禁用/启用约束以进行批量数据导入的详细信息:

    http://decipherinfosys.wordpress.com/2008/02/20/disableenable-foreign-key-and-check-constraints-in-sql-server/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-02
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-30
      • 2017-10-20
      • 1970-01-01
      相关资源
      最近更新 更多