sql >> データベース >  >> RDS >> Sqlserver

SQL Server のダイアグラムからバックアップ スクリプトを作成するにはどうすればよいですか?

    私は合理的な解決策を見つけました。問題は、Management Studio が非 XML データに対して 65535 文字を超える文字を表示できず、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. SQLは集計関数から他の行を取得します

    2. 変数「sql_mode」を「REPLACE」の値に設定することはできません

    3. インポート前後のInnoDBインデックス

    4. postgresqlでコピーを使用していますか?