Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana saya bisa membuat skrip cadangan dari diagram di SQL Server?

Saya telah menemukan solusi yang masuk akal. Masalahnya adalah bahwa Management Studio tidak dapat menampilkan lebih dari 65535 karakter untuk data Non-XML, dan tidak dapat disetel untuk menampilkan lebih dari 65535.

Lihat kode untuk dokumentasi :)

Skrip cadangan:

-- 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

Pulihkan skrip:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cara menghitung jumlah hari dalam setahun di sql server 2008

  2. Bagaimana saya harus meneruskan nama tabel ke proc yang disimpan?

  3. Menggunakan kolom turunan fungsi peringkat di mana klausa (SQL Server 2008)

  4. Kinerja Subquery klausa WHERE-CASE

  5. Bitmap Mode Batch di SQL Server