This commit is contained in:
2023-02-13 14:13:43 +01:00
parent 0ec4ce23d2
commit 911e4e6720
24 changed files with 6827 additions and 7 deletions

View File

@@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# SQL Server Management Studio Solution File, Format Version 18.00
VisualStudioVersion = 15.0.28307.421
MinimumVisualStudioVersion = 10.0.40219.1
Project("{4F2E2C19-372F-40D8-9FA7-9D2138C6997A}") = "OCTPDBA-380 - data masker", "OCTPDBA-380 - data masker.ssmssqlproj", "{065596B0-CD09-44E7-8CE6-1BF9C9299364}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Default|Default = Default|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{065596B0-CD09-44E7-8CE6-1BF9C9299364}.Default|Default.ActiveCfg = Default
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0DC882E8-7E26-4802-B60A-4EC57D2966EA}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,82 @@
<?xml version="1.0"?>
<SqlWorkbenchSqlProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="OCTPDBA-380 - data masker">
<Items>
<LogicalFolder Name="Connections" Type="2" Sorted="true">
<Items>
<ConnectionNode Name="(local):CENTRALINFRA\ua208700">
<Created>2023-01-31T13:25:51.2713026+01:00</Created>
<Type>SQL</Type>
<Server>(local)</Server>
<UserName />
<Authentication>Windows Authentication</Authentication>
<InitialDB>master</InitialDB>
<LoginTimeout>30</LoginTimeout>
<ExecutionTimeout>0</ExecutionTimeout>
<ConnectionProtocol>NotSpecified</ConnectionProtocol>
<ApplicationName>Microsoft SQL Server Management Studio - Query</ApplicationName>
</ConnectionNode>
</Items>
</LogicalFolder>
<LogicalFolder Name="Queries" Type="0" Sorted="true">
<Items>
<FileNode Name="alter ref tbl.sql">
<AssociatedConnectionMoniker />
<AssociatedConnSrvName />
<AssociatedConnUserName />
<FullPath>alter ref tbl.sql</FullPath>
</FileNode>
<FileNode Name="check after phcy.sql">
<AssociatedConnectionMoniker />
<AssociatedConnSrvName />
<AssociatedConnUserName />
<FullPath>check after phcy.sql</FullPath>
</FileNode>
<FileNode Name="check after repli and sync.sql">
<AssociatedConnectionMoniker />
<AssociatedConnSrvName />
<AssociatedConnUserName />
<FullPath>check after repli and sync.sql</FullPath>
</FileNode>
<FileNode Name="check before phcy.sql">
<AssociatedConnectionMoniker />
<AssociatedConnSrvName />
<AssociatedConnUserName />
<FullPath>check before phcy.sql</FullPath>
</FileNode>
<FileNode Name="check logic.sql">
<AssociatedConnectionMoniker />
<AssociatedConnSrvName />
<AssociatedConnUserName />
<FullPath>check logic.sql</FullPath>
</FileNode>
<FileNode Name="get ou from phcy.sql">
<AssociatedConnectionMoniker />
<AssociatedConnSrvName />
<AssociatedConnUserName />
<FullPath>get ou from phcy.sql</FullPath>
</FileNode>
<FileNode Name="npa dataset.sql">
<AssociatedConnectionMoniker />
<AssociatedConnSrvName />
<AssociatedConnUserName />
<FullPath>npa dataset.sql</FullPath>
</FileNode>
<FileNode Name="restore all.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:(local):True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>(local)</AssociatedConnSrvName>
<AssociatedConnUserName />
<FullPath>restore all.sql</FullPath>
</FileNode>
<FileNode Name="temp idx.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:(local):True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>(local)</AssociatedConnSrvName>
<AssociatedConnUserName />
<FullPath>temp idx.sql</FullPath>
</FileNode>
</Items>
</LogicalFolder>
<LogicalFolder Name="Miscellaneous" Type="3" Sorted="true">
<Items />
</LogicalFolder>
</Items>
</SqlWorkbenchSqlProject>

View File

@@ -0,0 +1,17 @@
USE ArizonaREP
IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'address' AND TABLE_SCHEMA='dbo' AND COLUMN_NAME = 'phcy_ou_code')
BEGIN
ALTER TABLE dbo.address ADD phcy_ou_code VARCHAR(15) NULL;
END
UPDATE a SET phcy_ou_code = ou.OU_code
FROM dbo.Address a
JOIN [dbo].[Address_OU_link] l ON l.AOUL_address = a.Address_GUID
JOIN dbo.Organizational_unit ou ON ou.Organizational_unit_GUID = COALESCE(a.AD_update_OU, a.AD_creation_OU)
WHERE a.phcy_ou_code IS NULL
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'address' AND TABLE_SCHEMA='dbo' AND COLUMN_NAME = 'phcy_ou_code')
BEGIN
ALTER TABLE dbo.address DROP COLUMN phcy_ou_code;
END

View File

@@ -0,0 +1,35 @@
SELECT TOP 100
dm1.Address_ID
,dm1.AD_first_name
,dm1.AD_last_name
,dm1.AD_middle_name
,dm1.AD_name
--,LEFT(SUBSTRING(ad_name, 0, CHARINDEX(' ', AD_name, 0)), 30) AS first
--,UPPER(LEFT(SUBSTRING(ad_name, CHARINDEX(' ', AD_name, 0), 99), 30)) AS last
,dm1.AD_address_1
,dm1.AD_address_2
,dm1.AD_address_3
,dm1.AD_zip_code
,dm1.AD_city
FROM dbo.Address dm1
--JOIN dbo.Customer c ON c.CUST_add_turnover_to = dm1.address_id
--or c.cust_address = dm1.address_id
--or c.cust_bill_to = dm1.address_id
--or c.cust_send_bill_to = dm1.address_id
--or c.cust_ship_to = dm1.address_id
WHERE EXISTS(
SELECT 1
FROM dbo.customer c
WHERE c.CUST_add_turnover_to = dm1.address_id
OR c.cust_address = dm1.address_id
or c.cust_bill_to = dm1.address_id
or c.cust_send_bill_to = dm1.address_id
or c.cust_ship_to = dm1.address_id
)
AND dm1.AD_sex <> 4
SELECT *
FROM ArizonaREP.dbo.Address a
WHERE a.

View File

@@ -0,0 +1,63 @@
USE master
GO
SELECT
'phcy' AS src
,dm1.Address_ID
,dm1.AD_first_name
,dm1.AD_last_name
,dm1.AD_middle_name
,dm1.AD_name
,dm1.AD_address_1
,dm1.AD_address_2
,dm1.AD_address_3
,dm1.AD_zip_code
,dm1.AD_city
,dm1.AD_sex
FROM Arizona.dbo.Address dm1
WHERE EXISTS(
SELECT 1
FROM Arizona.dbo.customer c
WHERE c.CUST_add_turnover_to = dm1.address_id
OR c.cust_address = dm1.address_id
or c.cust_bill_to = dm1.address_id
or c.cust_send_bill_to = dm1.address_id
or c.cust_ship_to = dm1.address_id
)
AND dm1.AD_sex <> 4
AND dm1.Address_ID = 1500038158
;
SELECT
'ref' AS src
,dm1.Address_GUID
,dm1.AD_first_name
,dm1.AD_last_name
,dm1.AD_middle_name
,dm1.AD_name
,dm1.AD_address_1
,dm1.AD_address_2
,dm1.AD_address_3
,dm1.AD_zip_code
,dm1.AD_city
,dm1.AD_sex
FROM ArizonaRep.dbo.Address dm1
JOIN ArizonaRep.[dbo].[Address_OU_link] l ON l.AOUL_address = dm1.Address_GUID
JOIN ArizonaRep.[dbo].[Organizational_unit] ou ON ou.Organizational_unit_GUID = l.AOUL_OU
WHERE 1=1
--AND EXISTS(
-- SELECT 1
-- FROM ArizonaRep.[dbo].[Organizational_unit] ou
-- JOIN ArizonaRep.[dbo].[Address_OU_link] l ON l.AOUL_OU = ou.Organizational_unit_GUID
-- WHERE ou.OU_code='705'
-- AND l.AOUL_source_key = dm1.Address_GUID
--)
AND dm1.AD_sex <> 4
AND ou.OU_code='705'
AND l.AOUL_source_key = 1500038158
;

View File

@@ -0,0 +1,33 @@
USE Arizona
SELECT
dm1.AD_first_name
,dm1.AD_last_name
,dm1.AD_middle_name
,dm1.AD_name
,dm1.AD_address_1
,dm1.AD_address_2
,dm1.AD_address_3
FROM dbo.Address dm1
--JOIN dbo.Customer c ON c.CUST_add_turnover_to = dm1.address_id
--or c.cust_address = dm1.address_id
--or c.cust_bill_to = dm1.address_id
--or c.cust_send_bill_to = dm1.address_id
--or c.cust_ship_to = dm1.address_id
where exists(
select 1
from dbo.customer c
where c.CUST_add_turnover_to = dm1.address_id
or c.cust_address = dm1.address_id
or c.cust_bill_to = dm1.address_id
or c.cust_send_bill_to = dm1.address_id
or c.cust_ship_to = dm1.address_id
)
RETURN
SELECT *
FROM dbo.Address_category ac
JOIN dbo.Address_category_text act ON act.ADCT_address_category = ac.Address_category_ID
WHERE act.ADCT_language = 1 --fr

View File

@@ -0,0 +1,32 @@
SELECT TOP 100
a.Address_GUID
, a.ad_name
, a.AD_creation_OU
, a.AD_update_OU
,a.*
FROM dbo.Address a
WHERE 1=1
AND EXISTS(
SELECT 1
FROM [dbo].[Organizational_unit] ou
JOIN [dbo].[Address_OU_link] l ON l.AOUL_OU = ou.Organizational_unit_GUID
WHERE ou.OU_code='705'
AND l.AOUL_address = a.Address_GUID
)
--AND ou.OU_code='705'
--AND a.Address_GUID='9B30783A-FDD8-4B77-9B79-D5E70E327F56'
ORDER BY a.AD_name
RETURN
SELECT
a.AD_creation_OU
,*
FROM dbo.Address a
JOIN [dbo].[Address_OU_link] l ON l.AOUL_address = a.Address_GUID
WHERE l.AOUL_address='9B261B2E-6227-4540-BC42-9C509D219AD8'
SELECT *
FROM dbo.Organizational_unit
WHERE Organizational_unit_GUID='BD710DD2-DC90-4DF0-91E6-84DBE5572469'

View File

@@ -0,0 +1,22 @@
SELECT
ou.OU_code,
ou.Organizational_unit_ID,
ou.OU_short_name,
ou.OU_pharmacy_code,
ou.OU_subsidiary
FROM [Arizona].[dbo].[Bmc_application_key] [bak] WITH (NOLOCK)
JOIN [Arizona].[dbo].[Bmc_application_default] [bad] WITH (NOLOCK)
ON [bad].[BAPD_bmc_application_key] = [bak].[Bmc_application_key_ID]
JOIN [Arizona].[dbo].[Organizational_unit] OUA WITH (NOLOCK)
ON OUA.[Organizational_unit_ID] = [bad].[BAPD_value]
JOIN [Arizona].[dbo].[Organizational_unit] [ou] WITH(NOLOCK)
ON [ou].[OU_code] = [OUA].[OU_code]
WHERE [bak].[BAPK_key] = 'cvCurrentOrganizationalUnit'
SELECT TOP 100 l.AOUL_source_key, ou.*
FROM ArizonaREP.dbo.Address a
JOIN ArizonaREP.[dbo].[Address_OU_link] l ON l.AOUL_address = a.Address_GUID
JOIN ArizonaREP.dbo.Organizational_unit ou ON ou.Organizational_unit_GUID = a.AD_creation_OU
OR ou.Organizational_unit_GUID = a.AD_update_OU
WHERE AD_sex <> 4
AND ad_name ='WINKELMANN Martin'

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,54 @@
USE master
EXEC sandbox.dbo.setMasterIdentity @in_type = 'phcy' -- varchar(10)
--EXEC sandbox.dbo.setMasterIdentity @in_type = 'adrRef' -- varchar(10)
ALTER DATABASE [ArizonaREP] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
RESTORE DATABASE [ArizonaREP] FROM DISK = N'D:\backups\ama adr ref N1\ArizonaREP_Dump.bak' WITH FILE = 1, MOVE N'ArizonaREP_Data' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ArizonaREP.mdf', MOVE N'ArizonaREP_Log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ArizonaREP_1.ldf', NOUNLOAD, REPLACE, STATS = 5
ALTER DATABASE [ArizonaREP] SET MULTI_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [ArizonaREP] SET RECOVERY SIMPLE
GO
ALTER DATABASE Arizona SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
RESTORE DATABASE [Arizona] FROM DISK = N'D:\backups\ama705\Arizona_Dump.bak' WITH FILE = 1, MOVE N'Arizona_Data' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\Arizona.mdf', MOVE N'Arizona_Log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\Arizona_1.ldf', MOVE N'Arizona_FSData' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\Arizona_FSData', NOUNLOAD, REPLACE, STATS = 5
ALTER DATABASE Arizona SET MULTI_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [Arizona] SET RECOVERY SIMPLE
GO
RESTORE DATABASE [ArizonaCASH] FROM DISK = N'D:\backups\ama705\ArizonaCASH_Dump.bak' WITH FILE = 1, MOVE N'ArizonaCASH_Data' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ArizonaCASH.mdf', MOVE N'ArizonaCASH_Log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ArizonaCASH_log.ldf', NOUNLOAD, REPLACE, STATS = 5
GO
ALTER DATABASE [ArizonaCASH] SET RECOVERY SIMPLE
GO
RESTORE DATABASE [ActivePos_read] FROM DISK = N'D:\backups\ama705\ActivePos_read_Dump.bak' WITH FILE = 1, MOVE N'ActivePos_read_Data' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActivePos_read.mdf', MOVE N'ActivePos_read_Log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActivePos_read_log.ldf', NOUNLOAD, REPLACE, STATS = 5
GO
ALTER DATABASE [ActivePos_read] SET RECOVERY SIMPLE
GO
RESTORE DATABASE [ActivePos_server] FROM DISK = N'D:\backups\ama705\ActivePos_server_Dump.bak' WITH FILE = 1, MOVE N'ActivePos_server_Data' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActivePos_server.mdf', MOVE N'ActivePos_server_Log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActivePos_server_1.ldf', NOUNLOAD, REPLACE, STATS = 5
GO
ALTER DATABASE [ActivePos_server] SET RECOVERY SIMPLE
GO
RESTORE DATABASE [ActivePos_write] FROM DISK = N'D:\backups\ama705\ActivePos_write_Dump.bak' WITH FILE = 1, MOVE N'ActivePos_write_Data' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActivePos_write.mdf', MOVE N'ActivePos_write_Log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActivePos_write_1.ldf', NOUNLOAD, REPLACE, STATS = 5
GO
ALTER DATABASE [ActivePos_write] SET RECOVERY SIMPLE
GO
RESTORE DATABASE [ActiveSystemClient] FROM DISK = N'D:\backups\ama705\ActiveSystemClient_Dump.bak' WITH FILE = 1, MOVE N'ActiveSystemClient_Data' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActiveSystemClient.mdf', MOVE N'ActiveSystemClient_Log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActiveSystemClient_1.ldf', NOUNLOAD, REPLACE, STATS = 5
GO
ALTER DATABASE [ActiveSystemClient] SET RECOVERY SIMPLE
GO
RESTORE DATABASE [ActiveSystemServer] FROM DISK = N'D:\backups\ama705\ActiveSystemServer_Dump.bak' WITH FILE = 1, MOVE N'ActiveSystemServer_Data' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActiveSystemServer.mdf', MOVE N'ActiveSystemServer_Log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\ActiveSystemServer_1.ldf', NOUNLOAD, REPLACE, STATS = 5
GO
ALTER DATABASE [ActiveSystemServer] SET RECOVERY SIMPLE
GO
RESTORE DATABASE [HCITools] FROM DISK = N'D:\backups\ama705\HCITools_Dump.bak' WITH FILE = 1, MOVE N'HCI_tools' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\HCITools.mdf', MOVE N'HCI_tools_log' TO N'D:\sql\MSSQL15.MSSQLSERVER\MSSQL\DATA\HCITools_1.ldf', NOUNLOAD, REPLACE, STATS = 5
GO
ALTER DATABASE [HCITools] SET RECOVERY SIMPLE
GO

View File

@@ -0,0 +1,14 @@
/*
Missing Index Details from check before phcy.sql - (local).Arizona (CENTRALINFRA\ua208700 (66))
The Query Processor estimates that implementing the following index could improve the query cost by 10.9728%.
*/
USE [Arizona]
GO
IF INDEXPROPERTY(OBJECT_ID('address'), 'ncix_address_COL_AD_sex' , 'IndexID' ) IS NOT NULL BEGIN;
CREATE NONCLUSTERED INDEX ncix_address_COL_AD_sex
ON [dbo].[Address] ([AD_sex])
INCLUDE ([Address_ID],[AD_name],[AD_first_name],[AD_middle_name],[AD_last_name],[AD_address_1],[AD_address_2],[AD_address_3])
END;