您可以在以下代码中解释sys.sp_addextendedproperty的用法吗?


78

创建视图后,以下代码中发生了什么?您能给我任何想法或方法吗?

此代码是从这里获取的

/****** Object:  View [dbo].[vProductImages]    Script Date: 04/28/2008 16:59:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[vProductImages]
AS
SELECT        dbo.Products_Images.ProductID, dbo.Images.ThumbUrl, dbo.Images.FullImageUrl
FROM            dbo.Products_Images INNER JOIN
                         dbo.Images ON dbo.Products_Images.ImageID = dbo.Images.ImageID
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 = "Products_Images"
            Begin Extent = 
               Top = 6
               Left = 38
               Bottom = 99
               Right = 208
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "Images"
            Begin Extent = 
               Top = 6
               Left = 246
               Bottom = 116
               Right = 416
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane = 
   End
   Begin DataPane = 
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 9
         Width = 284
         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'vProductImages'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'vProductImages'
GO

Answers:


126

似乎您使用了GUI设计器来创建视图。为了在设计器中保存表的图形布局,它将此元数据存储为扩展属性。它不会影响视图的实际处理方式。只是为了让您可以再次运行设计器,并使它看起来像离开它时的样子。


4
哇!我试图了解这段代码的用途,但没有找到任何线索。谢谢:)
堆高机

1
我可以配置SSMS不这样做吗?
Alexander Schmidt

6
@David:我发现了一件事:如果您使用“脚本数据库”,则可以转到那里的选项并禁用扩展属性的脚本。那是我至少发现一些东西的唯一地方。愚蠢的我的眼睛!
亚历山大·施密特

3
@Baodad,可能不值得您花时间研究一下。如果您正在寻求性能改进,那么它应该位于列表的最底部。
大卫

1
非常感谢。我工作中的一位女士发表了意见,他们总是对此发表意见。我很困惑,因为我认为这是我应该知道的某种TSQL,但是这样做更有意义。她总是从设计模式而不是书面方式制作表格。
格雷戈里·伊顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.