Last modified by Rudi Marais on 2024/03/28 18:51

<
From version < 8.22 >
edited by Rudi Marais
on 2024/03/28 18:37
To version < 8.5 >
edited by Rudi Marais
on 2024/03/07 13:48
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,60 +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. enable compresssion on applicable tables
34 -11. tblAudit etc
35 -
36 -1. disable all indexes except clustered
37 -
38 -1. run imports [parallel]
39 -11. imports runs from smallest to largest table
40 -
41 -1. verify record counts from pre and post
42 -
43 -1. enable indexes
44 -
45 -1. deploy new ddl audit triggers
46 -​​​​​​​
47 -1. enable ddl trigger
48 -
49 -1. run db security scripts
50 -11. creates db groups and ad groups
51 -
52 -1. update all settings to new environment
53 -
54 -1.
55 -
56 -
57 -
58 58  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
59 59  11. reason for this is to identify any procedure/triggers/functions that dont compile
60 60  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
... ... @@ -71,31 +71,15 @@
71 71  (% class="wikigeneratedid" id="Hhttps:2F2Fgithub.com2Fmicrosoft2Fmssql-scripter" %)
72 72  [[https:~~/~~/github.com/microsoft/mssql-scripter>>https://github.com/microsoft/mssql-scripter]]
73 73  
74 -
29 +* C:\Users\alliancetest\.mssqlscripter
75 75  )))
76 76  
77 -{{code language="sql"}}
78 --- index
79 -select concat('echo ''',SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp ',SCHEMA_NAME(schema_id), '.', name , ''' >> test.log')
80 -from sys.tables
81 -where type = 'U'
82 -and is_ms_shipped = 0
83 -
84 ---and temporal_type in (0,2);
85 -
86 --- export
87 -
88 -select '$path = "E:\temp\test\everest_test"' cmd union
89 -select '$server = "mytest.database.windows.net"' union
90 -select '$username = "sa"' union
91 -select '$password = "123456"' union
92 -select 'New-Item -ItemType Directory -Force -Path "$path\export_log"' union
93 -select 'New-Item -ItemType Directory -Force -Path "$path\data"'
94 -
95 -select export = concat('bcp "', DB_NAME(), '.',
96 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'),
97 - '" out "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp" ',
98 - ' -e "$path\export_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.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\data\', SCHEMA_NAME(schema_id), '_', name, '.bcp" ',
37 + ' -e "$path\export_log\', SCHEMA_NAME(schema_id), '_', name, '.log" ',
99 99   ' -S "', '$server','"',
100 100   ' -N -U "$username" -P "$password"',
101 101   ' | Out-Null')
... ... @@ -104,20 +104,12 @@
104 104  and is_ms_shipped = 0
105 105  --and temporal_type in (0,2);
106 106  
107 --- import
108 108  
109 -select '$path = "E:\temp\test\everest_test"' cmd union
110 -select '$target_server = "sqlmi-ebs-prod.public.2a5fe6cde9a7.database.windows.net,3342"' union
111 -select '$target_db = "TST_Staging_Everest"' union
112 -select '$target_username = "import_test"' union
113 -select '$target_password = ''123456''' union
114 -select 'New-Item -ItemType Directory -Force -Path "$path\import_log"' union
115 -select 'New-Item -ItemType Directory -Force -Path "$path\data"'
116 -
47 +-- import
117 117  select import = concat('bcp "', '$target_db', '.',
118 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'),
119 - '" in "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.bcp" ',
120 - ' -e "$path\import_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.log" ',
49 + SCHEMA_NAME(schema_id), '.', name,
50 + '" in "$path\data\', SCHEMA_NAME(schema_id), '_', name, '.bcp" ',
51 + ' -e "$path\import_log\', SCHEMA_NAME(schema_id), '_', name, '.log" ',
121 121   ' -S "', '$target_server','"',
122 122   ' -N -U "$target_username" -P "$target_password"',
123 123   ' -b 1000 -E -k -N -q',
... ... @@ -125,14 +125,12 @@
125 125  from sys.tables
126 126  where type = 'U'
127 127  and is_ms_shipped = 0
128 ---and temporal_type in (0,2);
59 +--and temporal_type in (0,2);{{/code}}
129 129  
130 -{{/code}}
131 131  
132 -
133 133  * disable anti-virus real time scan
134 -*
135 135  
64 +
136 136  (% class="wikigeneratedid" %)
137 137  placeholder
138 138  
... ... @@ -193,3 +193,4 @@
193 193  * incubator/ebsphere.crm/ebs-devops-devops-sql/calc-signature-bacpac.ps1
194 194  * modify Origin.xml
195 195  ** Checksum attribute for model.xml
125 +

Need help?

If you need help with XWiki you can contact: