Tôi đã tìm ra một giải pháp hợp lý. Vấn đề là Management Studio không thể hiển thị nhiều hơn 65535 ký tự cho dữ liệu không phải XML và không thể được đặt để hiển thị nhiều hơn 65535.
Xem mã cho tài liệu :)
Tập lệnh sao lưu:
-- 1. Read from DB, using XML to workaround the 65535 character limit
declare @definition varbinary(max)
select @definition = definition from dbo.sysdiagrams where name = 'ReportingDBDiagram'
select
'0x' + cast('' as xml).value('xs:hexBinary(sql:variable("@definition") )', 'varchar(max)')
for xml path('')
-- 2. Open the result XML in Management Studio
-- 3. Copy the result
-- 4. Paste this in backup script for @definition variable
Khôi phục tập lệnh:
declare @definition varbinary(max)
set @definition = 0xD0CF -- Paste 0x0 value from Backup script
-- Create diagram using 'official' Stored Procedure
exec dbo.sp_creatediagram
@diagramname = 'ReportingDBDiagramCopy',
@owner_id = null,
@version = 1,
@definition = @definition