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

sta*_*ker 69 t-sql sql-server extended-properties sql-server-2008

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

此代码取自此处.

/****** 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
Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 114

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

  • @David:我发现了一件事:如果您使用"脚本数据库",您可以转到那里的选项并禁用扩展属性的脚本.这是我至少发现一些事情的唯一一点.在我眼里愚蠢! (5认同)
  • 哇!我试图理解这个代码是什么,我没有找到线索.谢谢 :) (4认同)
  • @Baodad,你可能不值得花时间去研究这个问题.如果您正在寻找性能改进,那么这应该位于列表的最底层. (3认同)
  • 太感谢了。我工作的一位女士提出了自己的观点,他们总是有这样的说法。我很困惑,因为我认为这是我应该知道的某种 TSQL,但这更有意义。她总是按照设计模式而不是书面方式制作表格。 (3认同)
  • 我可以将 SSMS 配置为不执行此操作吗? (2认同)
  • 那么我们可以从视图中删除这些信息,也许是为了提高性能? (2认同)