text: 
  	CREATE PROCEDURE dbo.sp_upgraddiagrams
  	AS
  	BEGIN
  		IF OBJECT_ID(N'dbo.sysdiagrams') IS NOT NULL
  			return 0;
  	
  		CREATE TABLE dbo.sysdiagrams
  		(
  			name sysname NOT NULL,
  			principal_id int NOT NULL,	-- we may change it to varbinary(85)
  			diagram_id int PRIMARY KEY IDENTITY,
  			version int,
  	
  			definition varbinary(max)
  			CONSTRAINT UK_principal_name UNIQUE
  			(
  				principal_id,
  				name
  			)
  		);
  
  
  		/* Add this if we need to have some form of extended properties for diagrams */
  		/*
  		IF OBJECT_ID(N'dbo.sysdiagram_properties') IS NULL
  		BEGIN
  			CREATE TABLE dbo.sysdiagram_properties
  			(
  				diagram_id int,
  				name sysname,
  				value varbinary(max) NOT NULL
  			)
  		END
  		*/
  
  		IF OBJECT_ID(N'dbo.dtproperties') IS NOT NULL
  		begin
  			insert into dbo.sysdiagrams
  			(
  				[name],
  				[principal_id],
  				[version],
  				[definition]
  			)
  			select	 
  				convert(sysname, dgnm.[uvalue]),
  				DATABASE_PRINCIPAL_ID(N'dbo'),			-- will change to the sid of sa
  				0,							-- zero for old format, dgdef.[version],
  				dgdef.[lvalue]
  			from dbo.[dtproperties] dgnm
  				inner join dbo.[dtproperties] dggd on dggd.[property] = 'DtgSchemaGUID' and dggd.[objectid] = dgnm.[objectid]	
  				inner join dbo.[dtproperties] dgdef on dgdef.[property] = 'DtgSchemaDATA' and dgdef.[objectid] = dgnm.[objectid]
  				
  			where dgnm.[property] = 'DtgSchemaNAME' and dggd.[uvalue] like N'_EA3E6268-D998-11CE-9454-00AA00A3F36E_' 
  			return 2;
  		end
  		return 1;
  	END
  	