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

<
From version < 8.16 >
edited by Rudi Marais
on 2024/03/28 18:32
To version < 8.9 >
edited by Rudi Marais
on 2024/03/07 14:35
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,46 +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 -
23 -1. create db
24 -
25 -1. create schemas
26 -11. prep scripts first
27 -11. document references
28 -11. make sure ddl audit triggers are disabled
29 -
30 -1. disable all indexes except clustered
31 -
32 -1. run imports [parallel]
33 -11. imports runs from smallest to largest table
34 -​​​​​​​
35 -1. verify record counts from pre and post
36 -
37 -1. enable indexes
38 -1. enable ddl trigger
39 -
40 -1.
41 -
42 -
43 -
44 44  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
45 45  11. reason for this is to identify any procedure/triggers/functions that dont compile
46 46  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
... ... @@ -59,14 +59,10 @@
59 59  
60 60  * C:\Users\alliancetest\.mssqlscripter
61 61  * 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
62 -
63 -
64 64  )))
65 -* ALTER DATABASE Everest_Test SET READ_ONLY WITH NO_WAIT
66 -
67 67  
68 -{{code language="sql"}}
69 --- index
33 +(% class="wikigeneratedid" id="H" %)
34 + {{code language="sql"}}-- index
70 70  select concat('echo ''',SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp ',SCHEMA_NAME(schema_id), '.', name , ''' >> test.log')
71 71  from sys.tables
72 72  where type = 'U'
... ... @@ -75,17 +75,9 @@
75 75  --and temporal_type in (0,2);
76 76  
77 77  -- export
78 -
79 -select '$path = "E:\temp\test\everest_test"' cmd union
80 -select '$server = "mytest.database.windows.net"' union
81 -select '$username = "sa"' union
82 -select '$password = "123456"' union
83 -select 'New-Item -ItemType Directory -Force -Path "$path\export_log"' union
84 -select 'New-Item -ItemType Directory -Force -Path "$path\data"'
85 -
86 -select export = concat('bcp "', DB_NAME(), '.',
87 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'),
88 - '" out "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp" ',
43 +select export = concat('bcp ''', DB_NAME(), '.',
44 + SCHEMA_NAME(schema_id), '.', name,
45 + ''' out "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp" ',
89 89   ' -e "$path\export_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.log" ',
90 90   ' -S "', '$server','"',
91 91   ' -N -U "$username" -P "$password"',
... ... @@ -96,15 +96,6 @@
96 96  --and temporal_type in (0,2);
97 97  
98 98  -- import
99 -
100 -select '$path = "E:\temp\test\everest_test"' cmd union
101 -select '$target_server = "sqlmi-ebs-prod.public.2a5fe6cde9a7.database.windows.net,3342"' union
102 -select '$target_db = "TST_Staging_Everest"' union
103 -select '$target_username = "import_test"' union
104 -select '$target_password = ''123456''' union
105 -select 'New-Item -ItemType Directory -Force -Path "$path\import_log"' union
106 -select 'New-Item -ItemType Directory -Force -Path "$path\data"'
107 -
108 108  select import = concat('bcp "', '$target_db', '.',
109 109   SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'),
110 110   '" in "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.bcp" ',
... ... @@ -116,13 +116,10 @@
116 116  from sys.tables
117 117  where type = 'U'
118 118  and is_ms_shipped = 0
119 ---and temporal_type in (0,2);
67 +--and temporal_type in (0,2);{{/code}}
120 120  
121 -{{/code}}
122 122  
123 -
124 124  * disable anti-virus real time scan
125 -*
126 126  
127 127  (% class="wikigeneratedid" %)
128 128  placeholder

Need help?

If you need help with XWiki you can contact: