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,35 +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. scale db to accetable performance ie dtus 500 10 - 11 -1. turn off real time scan (anti virus) 12 - 13 -1. run bcp extract scripts 14 -11. everest & docs parallel 15 -11. extract run from smallest to largest table 16 - 17 -1. run schema extracts 18 -11. not in parallel! 19 - 20 -1. create db 21 - 22 -1. create schemas 23 -11. prep scripts first 24 -11. document references 25 -11. make sure ddl audit triggers are disabled 26 - 27 -1. disable all indexes except clustered 28 - 29 -1. run imports [parallel] 30 -11. imports runs from smallest to largest table 31 - 32 - 33 33 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 34 34 11. reason for this is to identify any procedure/triggers/functions that dont compile 35 35 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 ... ... @@ -43,79 +43,11 @@ 43 43 1. 44 44 45 45 * ((( 46 -(% class="wikigeneratedid" id="Hhttps:2F2Fgithub.com2Fmicrosoft2Fmssql-scripter" %) 47 -[[https:~~/~~/github.com/microsoft/mssql-scripter>>https://github.com/microsoft/mssql-scripter]] 48 - 49 -* C:\Users\alliancetest\.mssqlscripter 50 -* 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 51 - 52 - 26 += [[https:~~/~~/github.com/microsoft/mssql-scripter>>https://github.com/microsoft/mssql-scripter]] = 53 53 ))) 54 -* ALTER DATABASE Everest_Test SET READ_ONLY WITH NO_WAIT 55 - 56 56 57 -{{code language="sql"}} 58 --- index 59 -select concat('echo ''',SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp ',SCHEMA_NAME(schema_id), '.', name , ''' >> test.log') 60 -from sys.tables 61 -where type = 'U' 62 -and is_ms_shipped = 0 63 63 64 ---and temporal_type in (0,2); 65 65 66 --- export 67 - 68 -select '$path = "E:\temp\test\everest_test"' cmd union 69 -select '$server = "mytest.database.windows.net"' union 70 -select '$username = "sa"' union 71 -select '$password = "123456"' union 72 -select 'New-Item -ItemType Directory -Force -Path "$path\export_log"' union 73 -select 'New-Item -ItemType Directory -Force -Path "$path\data"' 74 - 75 -select export = concat('bcp "', DB_NAME(), '.', 76 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'), 77 - '" out "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp" ', 78 - ' -e "$path\export_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.log" ', 79 - ' -S "', '$server','"', 80 - ' -N -U "$username" -P "$password"', 81 - ' | Out-Null') 82 -from sys.tables 83 -where type = 'U' 84 -and is_ms_shipped = 0 85 ---and temporal_type in (0,2); 86 - 87 --- import 88 - 89 -select '$path = "E:\temp\test\everest_test"' cmd union 90 -select '$target_server = "sqlmi-ebs-prod.public.2a5fe6cde9a7.database.windows.net,3342"' union 91 -select '$target_db = "TST_Staging_Everest"' union 92 -select '$target_username = "import_test"' union 93 -select '$target_password = ''123456''' union 94 -select 'New-Item -ItemType Directory -Force -Path "$path\import_log"' union 95 -select 'New-Item -ItemType Directory -Force -Path "$path\data"' 96 - 97 -select import = concat('bcp "', '$target_db', '.', 98 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'), 99 - '" in "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.bcp" ', 100 - ' -e "$path\import_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.log" ', 101 - ' -S "', '$target_server','"', 102 - ' -N -U "$target_username" -P "$target_password"', 103 - ' -b 1000 -E -k -N -q', 104 - ' | Out-Null') 105 -from sys.tables 106 -where type = 'U' 107 -and is_ms_shipped = 0 108 ---and temporal_type in (0,2); 109 - 110 -{{/code}} 111 - 112 - 113 -* disable anti-virus real time scan 114 -* 115 - 116 -(% class="wikigeneratedid" %) 117 -placeholder 118 - 119 119 = Exporting = 120 120 121 121 * no encrypted objects, they need to be decrypted or removed prior to exporting. ... ... @@ -173,3 +173,5 @@ 173 173 * incubator/ebsphere.crm/ebs-devops-devops-sql/calc-signature-bacpac.ps1 174 174 * modify Origin.xml 175 175 ** Checksum attribute for model.xml 88 + 89 +