Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как мога да създам резервен скрипт от диаграма в SQL Server?

Намерих разумно решение. Проблемът е, че Management Studio не може да показва повече от 65535 знака за не-XML данни и не може да бъде настроен да показва повече от 65535.

Вижте кода за документация :)

Скрипт за архивиране:

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

Скрипт за възстановяване:

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. T-SQL таблица за присъединяване само когато таблицата не е празна

  2. Достъп до TimeZoneInfo от SQL 2005 Server

  3. SQL Изберете подобни ключови думи в произволен ред

  4. Как да посоча колона да бъде уникална в обхвата на връзка в SQL Server 2008?

  5. Как да променя езика по подразбиране за SQL Server?