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

<
From version < 8.14 >
edited by Rudi Marais
on 2024/03/28 18:29
To version < 2.11 >
edited by Rudi Marais
on 2023/05/22 23:49
>
Change comment: Update document after refactoring.

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -migrate to managed instance
1 +migrate-to-managed-instance
Parent
... ... @@ -1,1 +1,1 @@
1 -technical-documentation.analysis.sql.WebHome
1 +Technical Documentation.analysis.sql.WebHome
Content
... ... @@ -1,26 +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
7 7  
8 -
9 -1. scale db to accetable performance ie dtus 500
10 -1. turn off real time scan (anti virus)
11 -1. run bcp extract scripts [everest & docs parallel]
12 -11. extract run from smallest to largest table
13 -1. run schema extracts [not in parallel!]
14 -1. create db
15 -1. create schema
16 -11. prep scripts first
17 -11. document references
18 -11. make sure ddl audit triggers are disabled
19 -1. run imports [parallel]
20 -11. imports runs from smallest to largest table
21 -
22 -
23 -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
12 +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
24 24  11. reason for this is to identify any procedure/triggers/functions that dont compile
25 25  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
26 26  11. repeat step 1 and 2 until you get zero objects that can't compile
... ... @@ -32,123 +32,14 @@
32 32  1. run dacpac publish to managed instance
33 33  1.
34 34  
35 -* (((
36 -(% class="wikigeneratedid" id="Hhttps:2F2Fgithub.com2Fmicrosoft2Fmssql-scripter" %)
37 -[[https:~~/~~/github.com/microsoft/mssql-scripter>>https://github.com/microsoft/mssql-scripter]]
24 += =
38 38  
39 -* C:\Users\alliancetest\.mssqlscripter
40 -* 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
41 41  
42 -
43 -)))
44 -* ALTER DATABASE Everest_Test SET READ_ONLY WITH NO_WAIT
45 -
46 46  
47 -{{code language="sql"}}
48 --- index
49 -select concat('echo ''',SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp ',SCHEMA_NAME(schema_id), '.', name , ''' >> test.log')
50 -from sys.tables
51 -where type = 'U'
52 -and is_ms_shipped = 0
53 -
54 ---and temporal_type in (0,2);
55 -
56 --- export
57 -
58 -select '$path = "E:\temp\test\everest_test"' cmd union
59 -select '$server = "mytest.database.windows.net"' union
60 -select '$username = "sa"' union
61 -select '$password = "123456"' union
62 -select 'New-Item -ItemType Directory -Force -Path "$path\export_log"' union
63 -select 'New-Item -ItemType Directory -Force -Path "$path\data"'
64 -
65 -select export = concat('bcp "', DB_NAME(), '.',
66 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'),
67 - '" out "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.bcp" ',
68 - ' -e "$path\export_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)), '.log" ',
69 - ' -S "', '$server','"',
70 - ' -N -U "$username" -P "$password"',
71 - ' | Out-Null')
72 -from sys.tables
73 -where type = 'U'
74 -and is_ms_shipped = 0
75 ---and temporal_type in (0,2);
76 -
77 --- import
78 -
79 -select '$path = "E:\temp\test\everest_test"' cmd union
80 -select '$target_server = "sqlmi-ebs-prod.public.2a5fe6cde9a7.database.windows.net,3342"' union
81 -select '$target_db = "TST_Staging_Everest"' union
82 -select '$target_username = "import_test"' union
83 -select '$target_password = ''123456''' union
84 -select 'New-Item -ItemType Directory -Force -Path "$path\import_log"' union
85 -select 'New-Item -ItemType Directory -Force -Path "$path\data"'
86 -
87 -select import = concat('bcp "', '$target_db', '.',
88 - SCHEMA_NAME(schema_id), '.', replace(name,'$','`$'),
89 - '" in "$path\data\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.bcp" ',
90 - ' -e "$path\import_log\', SCHEMA_NAME(schema_id), '_', BASE64_ENCODE (cast(name as varbinary)) , '.log" ',
91 - ' -S "', '$target_server','"',
92 - ' -N -U "$target_username" -P "$target_password"',
93 - ' -b 1000 -E -k -N -q',
94 - ' | Out-Null')
95 -from sys.tables
96 -where type = 'U'
97 -and is_ms_shipped = 0
98 ---and temporal_type in (0,2);
99 -
100 -{{/code}}
101 -
102 -
103 -* disable anti-virus real time scan
104 -*
105 -
106 -(% class="wikigeneratedid" %)
107 -placeholder
108 -
109 109  = Exporting =
110 110  
111 111  * no encrypted objects, they need to be decrypted or removed prior to exporting.
112 112  
113 -SQL 2012
114 -
115 -
116 -
117 -EXEC sp_configure 'show advanced options', 1;
118 -GO
119 -RECONFIGURE;
120 -GO
121 -
122 -EXEC sp_configure 'xp_cmdshell',1
123 -GO
124 -RECONFIGURE
125 -GO
126 -
127 -
128 -EXEC XP_CMDSHELL 'net use O: ~\~\zagpebslab.file.core.windows.net\sqlshare /user:"localhost\zagpebslab" "access_key"'
129 -
130 -EXEC XP_CMDSHELL 'Dir O:'
131 -
132 -
133 -BACKUP DATABASE Everest_TEST
134 -TO DISK = N'O:\ENS_Everest_Test_20230721_1806.bak'
135 -WITH COMPRESSION,
136 -STATS = 10;
137 -
138 -
139 -GO
140 -
141 -
142 -SELECT 
143 - session_id as SPID, command, a.text AS Query, start_time, percent_complete,
144 - dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
145 -FROM sys.dm_exec_requests r 
146 - CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a 
147 -WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE')
148 -
149 -GO
150 -
151 -
152 152  = Importing =
153 153  
154 154  
... ... @@ -163,3 +163,5 @@
163 163  * incubator/ebsphere.crm/ebs-devops-devops-sql/calc-signature-bacpac.ps1
164 164  * modify Origin.xml
165 165  ** Checksum attribute for model.xml
46 +
47 +

Need help?

If you need help with XWiki you can contact: