请问大家如何将一个数据库中的所有视图复制到另一个数据库中

解决方案 »

  1.   

    企业管理器 选中所有视图 右键 所有任务 生成SQL脚本,把该选的选项选上,然后确定,即可生成SQL脚本。
    然后到另一个数据库上执行即可。
      

  2.   

    我用的是sql2005,也是生成sql脚本,但生成出来的脚本包括很多红色的脚本。如下面:SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Storage_RKMaster]'))
    EXEC dbo.sp_executesql @statement = N'
    /*==============================================================*/
    /* View: v_Storage_RKMaster                                     */
    /*==============================================================*/
    create view [dbo].[v_Storage_RKMaster] as
    SELECT RKID, Type, RKDate, A.RID, DeptID, 
    (select Name from Hr_Dept B where B.DeptID = A.DeptID) DeptName,
    A.State, Staff1, Staff2,
    (SELECT Name FROM Hr_Staff WHERE (Hr_Staff.SID = A.Staff1)) AS Staff1Name,
    (SELECT Name FROM dbo.Hr_Staff WHERE (Hr_Staff.SID = A.Staff2)) AS Staff2Name,
    A.Manager, 
    (SELECT Name FROM dbo.Hr_Staff WHERE (dbo.Hr_Staff.SID = A.Manager)) AS ManagerName,
    A.Date, A.Director, 
    (SELECT Name FROM dbo.Hr_Staff WHERE (dbo.Hr_Staff.SID = A.Director)) AS DirectorName,
    A.AuditDate, A.Re, A.TID, A.AttachmentState
    FROM Storage_RKMaster AS A

    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Cost_CustomDevelop]'))
    EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_Cost_CustomDevelop]
    AS
    SELECT     c.Name AS CName, b.Name AS RecorderName, a.Recorder, a.CID, a.CDID, a.RDate, a.AttachmentState
    FROM         dbo.Cost_CustomDevelop AS a LEFT OUTER JOIN
                          dbo.Hr_Staff AS b ON a.Recorder = b.SID LEFT OUTER JOIN
                          dbo.Sale_Custom AS c ON a.CID = c.ID

    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
    Begin DesignProperties = 
       Begin PaneConfigurations = 
          Begin PaneConfiguration = 0
             NumPanes = 4
             Configuration = "(H (1[40] 4[20] 2[20] 3) )"
          End
          Begin PaneConfiguration = 1
             NumPanes = 3
             Configuration = "(H (1 [50] 4 [25] 3))"
          End
          Begin PaneConfiguration = 2
             NumPanes = 3
             Configuration = "(H (1 [50] 2 [25] 3))"
          End
          Begin PaneConfiguration = 3
             NumPanes = 3
             Configuration = "(H (4 [30] 2 [40] 3))"
          End
          Begin PaneConfiguration = 4
             NumPanes = 2
             Configuration = "(H (1 [56] 3))"
          End
          Begin PaneConfiguration = 5
             NumPanes = 2
             Configuration = "(H (2 [66] 3))"
          End
          Begin PaneConfiguration = 6
             NumPanes = 2
             Configuration = "(H (4 [50] 3))"
          End
          Begin PaneConfiguration = 7
             NumPanes = 1
             Configuration = "(V (3))"
          End
          Begin PaneConfiguration = 8
             NumPanes = 3
             Configuration = "(H (1[56] 4[18] 2) )"
          End
          Begin PaneConfiguration = 9
             NumPanes = 2
             Configuration = "(H (1 [75] 4))"
          End
          Begin PaneConfiguration = 10
             NumPanes = 2
             Configuration = "(H (1[66] 2) )"
          End
          Begin PaneConfiguration = 11
             NumPanes = 2
             Configuration = "(H (4 [60] 2))"
          End
          Begin PaneConfiguration = 12
             NumPanes = 1
             Configuration = "(H (1) )"
          End
          Begin PaneConfiguration = 13
             NumPanes = 1
             Configuration = "(V (4))"
          End
          Begin PaneConfiguration = 14
             NumPanes = 1
             Configuration = "(V (2))"
          End
          ActivePaneConfig = 0
       End
       Begin DiagramPane = 
          Begin Origin = 
             Top = 0
             Left = 0
          End
          Begin Tables = 
             Begin Table = "a"
                Begin Extent = 
                   Top = 6
                   Left = 38
                   Bottom = 121
                   Right = 201
                End
                DisplayFlags = 280
                TopColumn = 1
             End
             Begin Table = "b"
                Begin Extent = 
                   Top = 110
                   Left = 288
                   Bottom = 225
                   Right = 453
                End
                DisplayFlags = 280
                TopColumn = 0
             End
             Begin Table = "c"
                Begin Extent = 
                   Top = 35
                   Left = 492
                   Bottom = 150
                   Right = 655
                End
                DisplayFlags = 280
                TopColumn = 0
             End
          End
       End
       Begin SQLPane = 
       End
       Begin DataPane = 
          Begin ParameterDefaults = ""
          End
       End
       Begin CriteriaPane = 
          Begin ColumnWidths = 11
             Column = 1440
             Alias = 900
             Table = 1170
             Output = 720
             Append = 1400
             NewValue = 1170
             SortType = 1350
             SortOrder = 1410
             GroupBy = 1350
             Filter = 1350
             Or = 1350
             Or = 1350
             Or = 1350
          End
       End
    End
    ' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Cost_CustomDevelop'GO
    EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Cost_CustomDevelop'GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Cost_CustomDevelopDetail]'))
    EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_Cost_CustomDevelopDetail]
    AS
    SELECT     c.Name AS RecorderName, b.Name AS TeamLeaderName, a.ID, a.CDID, a.ItemName, a.Sum, a.HappenDate, a.Recorder, a.TeamLeader, a.AuditDate, 
                          a.State
    FROM         dbo.Cost_CustomDevelopDetail AS a LEFT OUTER JOIN
                          dbo.Hr_Staff AS c ON a.Recorder = c.SID LEFT OUTER JOIN
                          dbo.Hr_Staff AS b ON b.SID = a.TeamLeader

    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
    Begin DesignProperties = 
       Begin PaneConfigurations = 
          Begin PaneConfiguration = 0
             NumPanes = 4
             Configuration = "(H (1[40] 4[20] 2[20] 3) )"
          End
          Begin PaneConfiguration = 1
             NumPanes = 3
             Configuration = "(H (1 [50] 4 [25] 3))"
          End
          Begin PaneConfiguration = 2
             NumPanes = 3
             Configuration = "(H (1 [50] 2 [25] 3))"
          End
          Begin PaneConfiguration = 3
             NumPanes = 3
             Configuration = "(H (4 [30] 2 [40] 3))"
          End
          Begin PaneConfiguration = 4
             NumPanes = 2
             Configuration = "(H (1 [56] 3))"
          End
          Begin PaneConfiguration = 5
             NumPanes = 2
             Configuration = "(H (2 [66] 3))"
          End
          Begin PaneConfiguration = 6
             NumPanes = 2
             Configuration = "(H (4 [50] 3))"
          End
          Begin PaneConfiguration = 7
             NumPanes = 1
             Configuration = "(V (3))"
          End
          Begin PaneConfiguration = 8
             NumPanes = 3
             Configuration = "(H (1[56] 4[18] 2) )"
          End
          Begin PaneConfiguration = 9
             NumPanes = 2
             Configuration = "(H (1 [75] 4))"
          End
          Begin PaneConfiguration = 10
             NumPanes = 2
             Configuration = "(H (1[66] 2) )"
          End
          Begin PaneConfiguration = 11
             NumPanes = 2
             Configuration = "(H (4 [60] 2))"
          End
          Begin PaneConfiguration = 12
             NumPanes = 1
             Configuration = "(H (1) )"
          End
          Begin PaneConfiguration = 13
             NumPanes = 1
             Configuration = "(V (4))"
          End
          Begin PaneConfiguration = 14
             NumPanes = 1
             Configuration = "(V (2))"
          End
          ActivePaneConfig = 0
       End
       Begin DiagramPane = 
          Begin Origin = 
             Top = 0
             Left = 0
          End
          Begin Tables = 
             Begin Table = "a"
                Begin Extent = 
                   Top = 6
                   Left = 38
                   Bottom = 207
                   Right = 179
                End
                DisplayFlags = 280
                TopColumn = 0
             End
             Begin Table = "b"
                Begin Extent = 
                   Top = 86
                   Left = 565
                   Bottom = 201
                   Right = 730
                End
                DisplayFlags = 280
                TopColumn = 0
             End
             Begin Table = "c"
                Begin Extent = 
                   Top = 8
                   Left = 302
                   Bottom = 123
                   Right = 467
                End
                DisplayFlags = 280
                TopColumn = 0
             End
          End
       End
       Begin SQLPane = 
       End
       Begin DataPane = 
          Begin ParameterDefaults = ""
          End
          Begin ColumnWidths = 12
             Width = 284
             Width = 1500
             Width = 1500
             Width = 1500
             Width = 1500
             Width = 1500
             Width = 1500
             Width = 1500
             Width = 1500
             Width = 1500
             Width = 1500
             Width = 1500
          End
       End
       Begin CriteriaPane = 
          Begin ColumnWidths = 11
             Column = 1440
             Alias = 900
             Table = 1170
             Output = 720
             Append = 1400
             NewValue = 1170
             SortType = 1350
             SortOrder = 1410
             GroupBy = 1350
             Filter = 1350
             Or = 1350
             Or = 1350
             Or = 1350
          End
       End
    End
    ' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Cost_CustomDevelopDetail'到另外的数据库中执行就报错最
      

  3.   

    是同一个版本啊。都是在sql2005中,只是不同的数据库