Wiki source code of migrate to managed instance

Version 8.3 by Rudi Marais on 2024/03/07 12:46

Show last authors
1 * compressed file
2 * contains ddl and dml data
3 * doesnt support encrypted objects
4 * cant have any stored procs with string that contain $( character sequence reserved sequence
5 ** break up sequence ie 'test$(test' become 'test$' + '(test'
6 * [[https:~~/~~/learn.microsoft.com/en-us/azure/azure-sql/database/database-import>>https://learn.microsoft.com/en-us/azure/azure-sql/database/database-import]]
7 * sqlpackage
8 ** [[https:~~/~~/download.microsoft.com/download/7/c/8/7c877288-a0d9-4d22-b1dc-2086e262d82f/x64/DacFramework.msi>>https://download.microsoft.com/download/7/c/8/7c877288-a0d9-4d22-b1dc-2086e262d82f/x64/DacFramework.msi]]
9 ** [[https:~~/~~/learn.microsoft.com/en-us/sql/tools/sqlpackage/sqlpackage-download>>https://learn.microsoft.com/en-us/sql/tools/sqlpackage/sqlpackage-download]]
10 ** C:\Program Files\Microsoft SQL Server\160\DAC\bin
11 * turn off real time scan (anti virus)
12
13 1. run extract with [[sql-script-db.ps1>>doc:technical-documentation.Source Control.migration.sql.sql-db-export.WebHome]] with validate set to true and raw objects set to true, only need tbl-triggers, functions and sp
14 11. reason for this is to identify any procedure/triggers/functions that dont compile
15 1. once this is done examine results and fix stored procedures on database so that they can compile, ie add missing columns or modify code to not require them
16 11. repeat step 1 and 2 until you get zero objects that can't compile
17 1. check sql code for any reserved varables ie... and fix on DB
18 1. run dacpac export
19 11. make sure nothing is running on source DB
20 11. upgrade source DB to high level for quicker export and set back to what it was once done
21 11. cmd
22 1. run dacpac publish to managed instance
23 1.
24
25 * (((
26 (% class="wikigeneratedid" id="Hhttps:2F2Fgithub.com2Fmicrosoft2Fmssql-scripter" %)
27 [[https:~~/~~/github.com/microsoft/mssql-scripter>>https://github.com/microsoft/mssql-scripter]]
28
29 * C:\Users\alliancetest\.mssqlscripter
30 )))
31
32 (% class="wikigeneratedid" id="H" %)
33 {{code language="sql"}}-- export
34 select export = concat('bcp ', DB_NAME(), '.',
35 SCHEMA_NAME(schema_id), '.', name,
36 ' out $(path)', SCHEMA_NAME(schema_id), '_', name, '.bcp ',
37 ' -S"', @@servername,'"',
38 ' -N -U"$(username)" -P"$(password)"')
39 from sys.tables
40 where type = 'U'
41 and is_ms_shipped = 0
42 and temporal_type in (0,2);
43
44 -- import
45 select import = concat('bcp ', DB_NAME(), '.',
46 SCHEMA_NAME(schema_id), '.', name,
47 ' in $(path)', SCHEMA_NAME(schema_id), '_', name, '.bcp ',
48 ' -S"$(target_server)','"',
49 ' -n -U"$(target_username)" -P"$(target_password)"')
50 from sys.tables
51 where type = 'U'
52 and is_ms_shipped = 0
53 and temporal_type in (0,2);
54 {{/code}}
55
56
57
58 (% class="wikigeneratedid" %)
59 placeholder
60
61 = Exporting =
62
63 * no encrypted objects, they need to be decrypted or removed prior to exporting.
64
65 SQL 2012
66
67
68
69 EXEC sp_configure 'show advanced options', 1;
70 GO
71 RECONFIGURE;
72 GO
73
74 EXEC sp_configure 'xp_cmdshell',1
75 GO
76 RECONFIGURE
77 GO
78
79
80 EXEC XP_CMDSHELL 'net use O: ~\~\zagpebslab.file.core.windows.net\sqlshare /user:"localhost\zagpebslab" "access_key"'
81
82 EXEC XP_CMDSHELL 'Dir O:'
83
84
85 BACKUP DATABASE Everest_TEST
86 TO DISK = N'O:\ENS_Everest_Test_20230721_1806.bak'
87 WITH COMPRESSION,
88 STATS = 10;
89
90
91 GO
92
93
94 SELECT 
95 session_id as SPID, command, a.text AS Query, start_time, percent_complete,
96 dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
97 FROM sys.dm_exec_requests r 
98 CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a 
99 WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE')
100
101 GO
102
103
104 = Importing =
105
106
107 = Modifying and Troubleshooting =
108
109 * Get-FileHash 'C:\temp\lfs\LifeSense_Everest_Test2-2023-5-17-7-37\model.xml'
110 ** place in Origin.xml
111 *** <Checksum Uri="/model.xml">DEADD2734B789135ED627061A385FC2C1096718A7D3398658DF9097196C1F571</Checksum>
112
113 == Recalculate Signature ==
114
115 * incubator/ebsphere.crm/ebs-devops-devops-sql/calc-signature-bacpac.ps1
116 * modify Origin.xml
117 ** Checksum attribute for model.xml
118
119