Changes for page migrate to managed instance
Last modified by Rudi Marais on 2024/03/28 18:51
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,54 +1,15 @@ 1 - 2 - 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]] 3 3 * sqlpackage 4 4 ** [[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]] 5 5 ** [[https:~~/~~/learn.microsoft.com/en-us/sql/tools/sqlpackage/sqlpackage-download>>https://learn.microsoft.com/en-us/sql/tools/sqlpackage/sqlpackage-download]] 6 6 ** C:\Program Files\Microsoft SQL Server\160\DAC\bin 11 +* turn off real time scan (anti virus) 7 7 8 - 9 -1. put db in readonly mode 10 -11. ALTER DATABASE Everest_Test SET READ_ONLY WITH NO_WAIT 11 - 12 -1. scale db to accetable performance ie dtus 500 13 - 14 -1. turn off real time scan (anti virus) 15 - 16 -1. run bcp extract scripts 17 -11. everest & docs parallel 18 -11. extract run from smallest to largest table 19 - 20 -1. run schema extracts 21 -11. not in parallel! 22 -11. [[https:~~/~~/github.com/microsoft/mssql-scripter>>https://github.com/microsoft/mssql-scripter]] 23 -11. C:\Users\alliancetest\.mssqlscripter 24 -11. mssql-scripter -S "kula.database.windows.net" -d Everest_Test -U ebsadmin -P xxx -r -f E:\temp\khula_test.sql ~-~-display-progress ~-~-enable-toolsservice-logging 25 - 26 -1. create db 27 - 28 -1. create schemas 29 -11. prep scripts first remove non applicable scripting 30 -11. document references 31 -11. make sure ddl audit triggers are disabled 32 - 33 -1. disable all indexes except clustered 34 - 35 -1. run imports [parallel] 36 -11. imports runs from smallest to largest table 37 - 38 -1. verify record counts from pre and post 39 - 40 -1. enable indexes 41 - 42 -1. deploy new ddl audit triggers 43 - 44 -1. enable ddl trigger 45 - 46 -1. update all settings to new environment 47 - 48 -1. 49 - 50 - 51 - 52 52 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 53 53 11. reason for this is to identify any procedure/triggers/functions that dont compile 54 54 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 ... ... @@ -66,70 +66,36 @@ 66 66 [[https:~~/~~/github.com/microsoft/mssql-scripter>>https://github.com/microsoft/mssql-scripter]] 67 67 68 68 * C:\Users\alliancetest\.mssqlscripter 69 -* mssql-scripter -S "kula.database.windows.net" -d Everest_Test -U ebsadmin -P xxx -r -f E:\temp\khula_test.sql ~-~-display-progress ~-~-enable-toolsservice-logging 70 - 71 - 72 72 ))) 73 73 74 -{{code language="sql"}} 75 --- index 76 -select concat('echo ''',SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp ',SCHEMA_NAME(schema_id), '.', name , ''' >> test.log') 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)"') 77 77 from sys.tables 78 78 where type = 'U' 79 79 and is_ms_shipped = 0 42 +and temporal_type in (0,2); 80 80 81 ---and temporal_type in (0,2); 82 - 83 --- export 84 - 85 -select '$path = "E:\temp\test\everest_test"' cmd union 86 -select '$server = "mytest.database.windows.net"' union 87 -select '$username = "sa"' union 88 -select '$password = "123456"' union 89 -select 'New-Item -ItemType Directory -Force -Path "$path\export_log"' union 90 -select 'New-Item -ItemType Directory -Force -Path "$path\data"' 91 - 92 -select export = concat('bcp "', DB_NAME(), '.', 93 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'), 94 - '" out "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp" ', 95 - ' -e "$path\export_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.log" ', 96 - ' -S "', '$server','"', 97 - ' -N -U "$username" -P "$password"', 98 - ' | Out-Null') 99 -from sys.tables 100 -where type = 'U' 101 -and is_ms_shipped = 0 102 ---and temporal_type in (0,2); 103 - 104 104 -- import 105 - 106 -select '$path = "E:\temp\test\everest_test"' cmd union 107 -select '$target_server = "sqlmi-ebs-prod.public.2a5fe6cde9a7.database.windows.net,3342"' union 108 -select '$target_db = "TST_Staging_Everest"' union 109 -select '$target_username = "import_test"' union 110 -select '$target_password = ''123456''' union 111 -select 'New-Item -ItemType Directory -Force -Path "$path\import_log"' union 112 -select 'New-Item -ItemType Directory -Force -Path "$path\data"' 113 - 114 -select import = concat('bcp "', '$target_db', '.', 115 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'), 116 - '" in "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.bcp" ', 117 - ' -e "$path\import_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.log" ', 118 - ' -S "', '$target_server','"', 119 - ' -N -U "$target_username" -P "$target_password"', 120 - ' -b 1000 -E -k -N -q', 121 - ' | Out-Null') 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)"') 122 122 from sys.tables 123 123 where type = 'U' 124 124 and is_ms_shipped = 0 125 ---and temporal_type in (0,2); 126 - 53 +and temporal_type in (0,2); 127 127 {{/code}} 128 128 129 129 130 130 * disable anti-virus real time scan 131 -* 132 132 59 + 133 133 (% class="wikigeneratedid" %) 134 134 placeholder 135 135 ... ... @@ -190,3 +190,5 @@ 190 190 * incubator/ebsphere.crm/ebs-devops-devops-sql/calc-signature-bacpac.ps1 191 191 * modify Origin.xml 192 192 ** Checksum attribute for model.xml 120 + 121 +