[성현모] VPKI 프로젝트 Import
This commit is contained in:
17
Projects/VPKI/VPKI.DB/DBPatch/CreateAccountDB.bat
Normal file
17
Projects/VPKI/VPKI.DB/DBPatch/CreateAccountDB.bat
Normal file
@ -0,0 +1,17 @@
|
||||
@echo off
|
||||
::log
|
||||
IF NOT EXIST .\logs mkdir logs
|
||||
|
||||
::서버연결정보
|
||||
SET ServerIP=127.0.0.1
|
||||
SET ServerPort=1433
|
||||
|
||||
::DB 정보
|
||||
SET UserID=VPKI
|
||||
SET Passwd=Kefico!@34
|
||||
SET DBName=VPKI_AccountDB
|
||||
|
||||
::Default DB
|
||||
@echo off
|
||||
CALL CreateVPKIAccountDB.bat %ServerIP% %ServerPort% %UserID% %Passwd% %DBName%
|
||||
CALL CreateVPKIAccountDB.bat %ServerIP% %ServerPort% %UserID% %Passwd% %DBName%_DEV
|
||||
17
Projects/VPKI/VPKI.DB/DBPatch/CreateDataDB.bat
Normal file
17
Projects/VPKI/VPKI.DB/DBPatch/CreateDataDB.bat
Normal file
@ -0,0 +1,17 @@
|
||||
@echo off
|
||||
::log
|
||||
IF NOT EXIST .\logs mkdir logs
|
||||
|
||||
::서버연결정보
|
||||
SET ServerIP=127.0.0.1
|
||||
SET ServerPort=1433
|
||||
|
||||
::DB 정보
|
||||
SET UserID=VPKI
|
||||
SET Passwd=Kefico!@34
|
||||
SET DBName=VPKI_DataDB
|
||||
|
||||
::Default DB
|
||||
@echo off
|
||||
CALL CreateVPKIDataDB.bat %ServerIP% %ServerPort% %UserID% %Passwd% %DBName%
|
||||
CALL CreateVPKIDataDB.bat %ServerIP% %ServerPort% %UserID% %Passwd% %DBName%_DEV
|
||||
18
Projects/VPKI/VPKI.DB/DBPatch/CreateVPKIAccountDB.bat
Normal file
18
Projects/VPKI/VPKI.DB/DBPatch/CreateVPKIAccountDB.bat
Normal file
@ -0,0 +1,18 @@
|
||||
@echo off
|
||||
|
||||
SET ServerIP=%1
|
||||
SET ServerPort=%2
|
||||
SET UserID=%3
|
||||
SET Passwd=%4
|
||||
SET DBName=%5
|
||||
|
||||
SET SqlCmdOption=-C -U %UserID% -P %Passwd% -S %ServerIP%,%ServerPort% -f 65001 -o .\logs\%DBName%.log
|
||||
SET DatabaseName=%DBName%
|
||||
sqlcmd %SqlCmdOption% -i .\sqlScripts\VPKI.AccountDB_Create.sql
|
||||
if errorlevel 1 goto errexit
|
||||
goto end
|
||||
:errexit
|
||||
echo DB Patch Fail
|
||||
goto end
|
||||
:end
|
||||
@echo on
|
||||
18
Projects/VPKI/VPKI.DB/DBPatch/CreateVPKIDataDB.bat
Normal file
18
Projects/VPKI/VPKI.DB/DBPatch/CreateVPKIDataDB.bat
Normal file
@ -0,0 +1,18 @@
|
||||
@echo off
|
||||
|
||||
SET ServerIP=%1
|
||||
SET ServerPort=%2
|
||||
SET UserID=%3
|
||||
SET Passwd=%4
|
||||
SET DBName=%5
|
||||
|
||||
SET SqlCmdOption=-C -U %UserID% -P %Passwd% -S %ServerIP%,%ServerPort% -f 65001 -o .\logs\%DBName%.log
|
||||
SET DatabaseName=%DBName%
|
||||
sqlcmd %SqlCmdOption% -i .\sqlScripts\VPKI.DataDB_Create.sql
|
||||
if errorlevel 1 goto errexit
|
||||
goto end
|
||||
:errexit
|
||||
echo DB Patch Fail
|
||||
goto end
|
||||
:end
|
||||
@echo on
|
||||
25
Projects/VPKI/VPKI.DB/DBPatch/UpdateAccountDB.bat
Normal file
25
Projects/VPKI/VPKI.DB/DBPatch/UpdateAccountDB.bat
Normal file
@ -0,0 +1,25 @@
|
||||
@echo off
|
||||
::log
|
||||
IF NOT EXIST .\logs mkdir logs
|
||||
|
||||
::서버연결정보
|
||||
SET ServerIP=127.0.0.1
|
||||
SET ServerPort=1433
|
||||
|
||||
::DB 정보
|
||||
SET UserID=VPKI
|
||||
SET Passwd=Kefico!@34
|
||||
SET DBName=VPKI_AccountDB
|
||||
|
||||
::Update script 정보
|
||||
SET Dacpac=.\sqlScripts\dacpac\VPKI.AccountDB.dacpac
|
||||
SET OUTPUT=VPKI.AccountDB_Update.sql
|
||||
|
||||
|
||||
@echo off
|
||||
::generate update script
|
||||
CALL UpdateScriptGenerate.bat %ServerIP% %ServerPort% %UserID% %Passwd% %DBName% %Dacpac% %OUTPUT%
|
||||
|
||||
::Default DB
|
||||
CALL UpdateVPKIAccountDB.bat %ServerIP% %ServerPort% %UserID% %Passwd% VPKI_AccountDB
|
||||
CALL UpdateVPKIAccountDB.bat %ServerIP% %ServerPort% %UserID% %Passwd% VPKI_AccountDB_DEV
|
||||
25
Projects/VPKI/VPKI.DB/DBPatch/UpdateDataDB.bat
Normal file
25
Projects/VPKI/VPKI.DB/DBPatch/UpdateDataDB.bat
Normal file
@ -0,0 +1,25 @@
|
||||
@echo off
|
||||
::log
|
||||
IF NOT EXIST .\logs mkdir logs
|
||||
|
||||
::서버연결정보
|
||||
SET ServerIP=127.0.0.1
|
||||
SET ServerPort=1433
|
||||
|
||||
::DB 정보
|
||||
SET UserID=VPKI
|
||||
SET Passwd=Kefico!@34
|
||||
SET DBName=VPKI_DataDB
|
||||
|
||||
::Update script 정보
|
||||
SET Dacpac=.\sqlScripts\dacpac\VPKI.DataDB.dacpac
|
||||
SET OUTPUT=VPKI.DataDB_Update.sql
|
||||
|
||||
|
||||
@echo off
|
||||
::generate update script
|
||||
CALL UpdateScriptGenerate.bat %ServerIP% %ServerPort% %UserID% %Passwd% %DBName% %Dacpac% %OUTPUT%
|
||||
|
||||
::Default DB
|
||||
CALL UpdateVPKIDataDB.bat %ServerIP% %ServerPort% %UserID% %Passwd% VPKI_DataDB
|
||||
CALL UpdateVPKIDataDB.bat %ServerIP% %ServerPort% %UserID% %Passwd% VPKI_DataDB_DEV
|
||||
12
Projects/VPKI/VPKI.DB/DBPatch/UpdateScriptGenerate.bat
Normal file
12
Projects/VPKI/VPKI.DB/DBPatch/UpdateScriptGenerate.bat
Normal file
@ -0,0 +1,12 @@
|
||||
@echo off
|
||||
|
||||
SET ServerIP=%1
|
||||
SET ServerPort=%2
|
||||
SET UserID=%3
|
||||
SET Passwd=%4
|
||||
SET DBName=%5
|
||||
SET Dacpac=%6
|
||||
SET OUTPUT=%7
|
||||
|
||||
::create update sql file
|
||||
sqlpackage /Action:Script /SourceFile:%Dacpac% /TargetConnectionString:"server=%ServerIP%,%ServerPort%; user id=%UserID%; password=%Passwd%; database=%DBName%; TrustServerCertificate=true" /OutputPath:".\sqlScripts\%OUTPUT%" /p:CommentOutSetVarDeclarations=True
|
||||
19
Projects/VPKI/VPKI.DB/DBPatch/UpdateVPKIAccountDB.bat
Normal file
19
Projects/VPKI/VPKI.DB/DBPatch/UpdateVPKIAccountDB.bat
Normal file
@ -0,0 +1,19 @@
|
||||
@echo off
|
||||
|
||||
SET ServerIP=%1
|
||||
SET ServerPort=%2
|
||||
SET UserID=%3
|
||||
SET Passwd=%4
|
||||
SET DBName=%5
|
||||
|
||||
SET SqlCmdOption=-U %UserID% -P %Passwd% -S %ServerIP%,%ServerPort% -d %DBName% -o .\logs\%DBName%.log
|
||||
SET DatabaseName=%DBName%
|
||||
sqlcmd %SqlCmdOption% -i .\sqlScripts\VPKI.AccountDB_Update.sql
|
||||
|
||||
if errorlevel 1 goto errexit
|
||||
goto end
|
||||
:errexit
|
||||
echo DB Patch Fail
|
||||
goto end
|
||||
:end
|
||||
@echo on
|
||||
19
Projects/VPKI/VPKI.DB/DBPatch/UpdateVPKIDataDB.bat
Normal file
19
Projects/VPKI/VPKI.DB/DBPatch/UpdateVPKIDataDB.bat
Normal file
@ -0,0 +1,19 @@
|
||||
@echo off
|
||||
|
||||
SET ServerIP=%1
|
||||
SET ServerPort=%2
|
||||
SET UserID=%3
|
||||
SET Passwd=%4
|
||||
SET DBName=%5
|
||||
|
||||
SET SqlCmdOption=-U %UserID% -P %Passwd% -S %ServerIP%,%ServerPort% -d %DBName% -o .\logs\%DBName%.log
|
||||
SET DatabaseName=%DBName%
|
||||
sqlcmd %SqlCmdOption% -i .\sqlScripts\VPKI.DataDB_Update.sql
|
||||
|
||||
if errorlevel 1 goto errexit
|
||||
goto end
|
||||
:errexit
|
||||
echo DB Patch Fail
|
||||
goto end
|
||||
:end
|
||||
@echo on
|
||||
19
Projects/VPKI/VPKI.DB/DBPatch/_CreateAccount_관리자권한으로실행.bat
Normal file
19
Projects/VPKI/VPKI.DB/DBPatch/_CreateAccount_관리자권한으로실행.bat
Normal file
@ -0,0 +1,19 @@
|
||||
@echo Create Admin Account Start
|
||||
@echo off
|
||||
|
||||
SET SqlCmdOption=-E -C
|
||||
sqlcmd %SqlCmdOption% -i %~dp0\sqlScripts\AdminAccount_Create.sql
|
||||
if errorlevel 1 goto errexit
|
||||
goto end
|
||||
:errexit
|
||||
echo DB Patch Fail
|
||||
goto end
|
||||
:end
|
||||
@echo on
|
||||
|
||||
@echo Create Admin Account End
|
||||
|
||||
net stop /y MSSQLSERVER
|
||||
net start /y MSSQLSERVER
|
||||
|
||||
pause
|
||||
@ -0,0 +1,20 @@
|
||||
USE [master]
|
||||
GO
|
||||
|
||||
CREATE LOGIN [VPKI] WITH PASSWORD=N'Kefico!@34', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[English], CHECK_POLICY=ON
|
||||
GO
|
||||
|
||||
ALTER LOGIN [VPKI] ENABLE
|
||||
GO
|
||||
|
||||
ALTER SERVER ROLE [sysadmin] ADD MEMBER [VPKI]
|
||||
GO
|
||||
|
||||
ALTER SERVER ROLE [securityadmin] ADD MEMBER [VPKI]
|
||||
GO
|
||||
|
||||
ALTER SERVER ROLE [serveradmin] ADD MEMBER [VPKI]
|
||||
GO
|
||||
|
||||
ALTER SERVER ROLE [setupadmin] ADD MEMBER [VPKI]
|
||||
GO
|
||||
@ -0,0 +1,365 @@
|
||||
/*
|
||||
VPKI.AccountDB의 배포 스크립트
|
||||
|
||||
이 코드는 도구를 사용하여 생성되었습니다.
|
||||
파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
변경 내용이 손실됩니다.
|
||||
*/
|
||||
|
||||
GO
|
||||
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
|
||||
|
||||
SET NUMERIC_ROUNDABORT OFF;
|
||||
|
||||
|
||||
GO
|
||||
/*
|
||||
:setvar DatabaseName "VPKI.AccountDB"
|
||||
:setvar DefaultFilePrefix "VPKI.AccountDB"
|
||||
:setvar DefaultDataPath ""
|
||||
:setvar DefaultLogPath ""
|
||||
*/
|
||||
|
||||
GO
|
||||
:on error exit
|
||||
GO
|
||||
/*
|
||||
SQLCMD 모드가 지원되지 않으면 SQLCMD 모드를 검색하고 스크립트를 실행하지 않습니다.
|
||||
SQLCMD 모드를 설정한 후에 이 스크립트를 다시 사용하려면 다음을 실행합니다.
|
||||
SET NOEXEC OFF;
|
||||
*/
|
||||
:setvar __IsSqlCmdEnabled "True"
|
||||
GO
|
||||
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
|
||||
BEGIN
|
||||
PRINT N'이 스크립트를 실행하려면 SQLCMD 모드를 사용하도록 설정해야 합니다.';
|
||||
SET NOEXEC ON;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
USE [master];
|
||||
|
||||
|
||||
GO
|
||||
|
||||
IF (DB_ID(N'$(DatabaseName)') IS NOT NULL)
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
|
||||
DROP DATABASE [$(DatabaseName)];
|
||||
END
|
||||
|
||||
GO
|
||||
PRINT N'$(DatabaseName) 데이터베이스를 만드는 중...'
|
||||
GO
|
||||
CREATE DATABASE [$(DatabaseName)] COLLATE Korean_Wansung_CI_AS
|
||||
GO
|
||||
USE [$(DatabaseName)];
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET ANSI_NULLS ON,
|
||||
ANSI_PADDING ON,
|
||||
ANSI_WARNINGS ON,
|
||||
ARITHABORT ON,
|
||||
CONCAT_NULL_YIELDS_NULL ON,
|
||||
NUMERIC_ROUNDABORT OFF,
|
||||
QUOTED_IDENTIFIER ON,
|
||||
ANSI_NULL_DEFAULT ON,
|
||||
CURSOR_DEFAULT LOCAL,
|
||||
RECOVERY SIMPLE,
|
||||
CURSOR_CLOSE_ON_COMMIT OFF,
|
||||
AUTO_CREATE_STATISTICS ON,
|
||||
AUTO_SHRINK OFF,
|
||||
AUTO_UPDATE_STATISTICS ON,
|
||||
RECURSIVE_TRIGGERS OFF
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET ALLOW_SNAPSHOT_ISOLATION OFF;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET READ_COMMITTED_SNAPSHOT OFF
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET AUTO_UPDATE_STATISTICS_ASYNC OFF,
|
||||
PAGE_VERIFY NONE,
|
||||
DATE_CORRELATION_OPTIMIZATION OFF,
|
||||
DISABLE_BROKER,
|
||||
PARAMETERIZATION SIMPLE,
|
||||
SUPPLEMENTAL_LOGGING OFF
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF IS_SRVROLEMEMBER(N'sysadmin') = 1
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
EXECUTE sp_executesql N'ALTER DATABASE [$(DatabaseName)]
|
||||
SET TRUSTWORTHY OFF,
|
||||
DB_CHAINING OFF
|
||||
WITH ROLLBACK IMMEDIATE';
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT N'데이터베이스 설정을 수정할 수 없습니다. 이러한 설정을 적용하려면 SysAdmin이어야 합니다.';
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF IS_SRVROLEMEMBER(N'sysadmin') = 1
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
EXECUTE sp_executesql N'ALTER DATABASE [$(DatabaseName)]
|
||||
SET HONOR_BROKER_PRIORITY OFF
|
||||
WITH ROLLBACK IMMEDIATE';
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT N'데이터베이스 설정을 수정할 수 없습니다. 이러한 설정을 적용하려면 SysAdmin이어야 합니다.';
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET TARGET_RECOVERY_TIME = 0 SECONDS
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET FILESTREAM(NON_TRANSACTED_ACCESS = OFF),
|
||||
CONTAINMENT = NONE
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = OFF),
|
||||
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = OFF,
|
||||
DELAYED_DURABILITY = DISABLED
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET QUERY_STORE (QUERY_CAPTURE_MODE = ALL, DATA_FLUSH_INTERVAL_SECONDS = 900, INTERVAL_LENGTH_MINUTES = 60, MAX_PLANS_PER_QUERY = 200, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 367), MAX_STORAGE_SIZE_MB = 100)
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET QUERY_STORE = OFF
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0;
|
||||
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY;
|
||||
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = OFF;
|
||||
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
|
||||
ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = ON;
|
||||
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY;
|
||||
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = OFF;
|
||||
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET QUERY_OPTIMIZER_HOTFIXES = PRIMARY;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET TEMPORAL_HISTORY_RETENTION ON
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF fulltextserviceproperty(N'IsFulltextInstalled') = 1
|
||||
EXECUTE sp_fulltext_database 'enable';
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'테이블 [dbo].[tRefreshToken]을(를) 만드는 중...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[tRefreshToken] (
|
||||
[cAuid] NVARCHAR (250) NOT NULL,
|
||||
[cRefreshToken] NVARCHAR (1000) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED ([cAuid] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'테이블 [dbo].[tRole]을(를) 만드는 중...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[tRole] (
|
||||
[cAuid] NVARCHAR (250) NOT NULL,
|
||||
[cRoleID] TINYINT NOT NULL,
|
||||
[cRoleName] NVARCHAR (20) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED ([cAuid] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'테이블 [dbo].[tUser]을(를) 만드는 중...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[tUser] (
|
||||
[cUserID] NVARCHAR (50) NOT NULL,
|
||||
[cAuid] NVARCHAR (250) NOT NULL,
|
||||
[cPasswordHashed] NVARCHAR (250) NOT NULL,
|
||||
[cState] TINYINT NOT NULL,
|
||||
[cCreateDateTime] DATETIME2 (7) NOT NULL,
|
||||
[cLastLoginDateTime] DATETIME2 (7) NULL,
|
||||
PRIMARY KEY CLUSTERED ([cUserID] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
-- 배포된 트랜잭션 로그를 사용하여 대상 서버를 업데이트하는 리팩터링 단계
|
||||
|
||||
IF OBJECT_ID(N'dbo.__RefactorLog') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[__RefactorLog] (OperationKey UNIQUEIDENTIFIER NOT NULL PRIMARY KEY)
|
||||
EXEC sp_addextendedproperty N'microsoft_database_tools_support', N'refactoring log', N'schema', N'dbo', N'table', N'__RefactorLog'
|
||||
END
|
||||
GO
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '7ca1fbc9-cead-4c01-b8df-1a9a69e13266')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('7ca1fbc9-cead-4c01-b8df-1a9a69e13266')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '7e3c9cab-1b27-43f3-8519-960704ce037b')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('7e3c9cab-1b27-43f3-8519-960704ce037b')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = 'f0511507-0a0d-4bde-a3b2-39b5106c85f0')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('f0511507-0a0d-4bde-a3b2-39b5106c85f0')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = 'da1fde46-473c-41bb-aa02-260e3385475d')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('da1fde46-473c-41bb-aa02-260e3385475d')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '8f767203-3e50-46b7-a513-53461cf358ac')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('8f767203-3e50-46b7-a513-53461cf358ac')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '4b1fa7eb-a0b5-425d-8358-7a8ca6cff7ad')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('4b1fa7eb-a0b5-425d-8358-7a8ca6cff7ad')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '5e298150-8e73-458c-aad7-8bf15975edc0')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('5e298150-8e73-458c-aad7-8bf15975edc0')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '6b49864f-05d3-40ae-9c55-b7845af2d49e')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('6b49864f-05d3-40ae-9c55-b7845af2d49e')
|
||||
|
||||
GO
|
||||
|
||||
GO
|
||||
/*
|
||||
배포 후 스크립트 템플릿
|
||||
--------------------------------------------------------------------------------------
|
||||
이 파일에는 빌드 스크립트에 추가될 SQL 문이 있습니다.
|
||||
SQLCMD 구문을 사용하여 파일을 배포 후 스크립트에 포함합니다.
|
||||
예: :r .\myfile.sql
|
||||
SQLCMD 구문을 사용하여 배포 후 스크립트의 변수를 참조합니다.
|
||||
예: :setvar TableName MyTable
|
||||
SELECT * FROM [$(TableName)]
|
||||
--------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM tUser WHERE cUserID = 'Alis')
|
||||
BEGIN
|
||||
INSERT INTO tUser (cUserID, cAuid, cPasswordHashed, cState, cCreateDateTime, cLastLoginDateTime)
|
||||
VALUES ('Alis', 'SuperUser' ,'oKLQCdunc2kT5aAVfK+POKwd8R3p8OZvs/NATwpg4gM=' ,1 ,GETDATE(), GETDATE());
|
||||
|
||||
INSERT INTO tRole(cAuid, cRoleID, cRoleName)
|
||||
VALUES ('SuperUser','20','SuperUser');
|
||||
END
|
||||
GO
|
||||
|
||||
GO
|
||||
DECLARE @VarDecimalSupported AS BIT;
|
||||
|
||||
SELECT @VarDecimalSupported = 0;
|
||||
|
||||
IF ((ServerProperty(N'EngineEdition') = 3)
|
||||
AND (((@@microsoftversion / power(2, 24) = 9)
|
||||
AND (@@microsoftversion & 0xffff >= 3024))
|
||||
OR ((@@microsoftversion / power(2, 24) = 10)
|
||||
AND (@@microsoftversion & 0xffff >= 1600))))
|
||||
SELECT @VarDecimalSupported = 1;
|
||||
|
||||
IF (@VarDecimalSupported > 0)
|
||||
BEGIN
|
||||
EXECUTE sp_db_vardecimal_storage_format N'$(DatabaseName)', 'ON';
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET MULTI_USER
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'업데이트가 완료되었습니다.';
|
||||
|
||||
|
||||
GO
|
||||
380
Projects/VPKI/VPKI.DB/DBPatch/sqlScripts/VPKI.DataDB_Create.sql
Normal file
380
Projects/VPKI/VPKI.DB/DBPatch/sqlScripts/VPKI.DataDB_Create.sql
Normal file
@ -0,0 +1,380 @@
|
||||
/*
|
||||
VPKI.DataDB의 배포 스크립트
|
||||
|
||||
이 코드는 도구를 사용하여 생성되었습니다.
|
||||
파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
변경 내용이 손실됩니다.
|
||||
*/
|
||||
|
||||
GO
|
||||
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
|
||||
|
||||
SET NUMERIC_ROUNDABORT OFF;
|
||||
|
||||
|
||||
GO
|
||||
/*
|
||||
:setvar DatabaseName "VPKI.DataDB"
|
||||
:setvar DefaultFilePrefix "VPKI.DataDB"
|
||||
:setvar DefaultDataPath ""
|
||||
:setvar DefaultLogPath ""
|
||||
*/
|
||||
|
||||
GO
|
||||
:on error exit
|
||||
GO
|
||||
/*
|
||||
SQLCMD 모드가 지원되지 않으면 SQLCMD 모드를 검색하고 스크립트를 실행하지 않습니다.
|
||||
SQLCMD 모드를 설정한 후에 이 스크립트를 다시 사용하려면 다음을 실행합니다.
|
||||
SET NOEXEC OFF;
|
||||
*/
|
||||
:setvar __IsSqlCmdEnabled "True"
|
||||
GO
|
||||
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
|
||||
BEGIN
|
||||
PRINT N'이 스크립트를 실행하려면 SQLCMD 모드를 사용하도록 설정해야 합니다.';
|
||||
SET NOEXEC ON;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
USE [master];
|
||||
|
||||
|
||||
GO
|
||||
|
||||
IF (DB_ID(N'$(DatabaseName)') IS NOT NULL)
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
|
||||
DROP DATABASE [$(DatabaseName)];
|
||||
END
|
||||
|
||||
GO
|
||||
PRINT N'$(DatabaseName) 데이터베이스를 만드는 중...'
|
||||
GO
|
||||
CREATE DATABASE [$(DatabaseName)] COLLATE Korean_Wansung_CI_AS
|
||||
GO
|
||||
USE [$(DatabaseName)];
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET ANSI_NULLS ON,
|
||||
ANSI_PADDING ON,
|
||||
ANSI_WARNINGS ON,
|
||||
ARITHABORT ON,
|
||||
CONCAT_NULL_YIELDS_NULL ON,
|
||||
NUMERIC_ROUNDABORT OFF,
|
||||
QUOTED_IDENTIFIER ON,
|
||||
ANSI_NULL_DEFAULT ON,
|
||||
CURSOR_DEFAULT LOCAL,
|
||||
RECOVERY SIMPLE,
|
||||
CURSOR_CLOSE_ON_COMMIT OFF,
|
||||
AUTO_CREATE_STATISTICS ON,
|
||||
AUTO_SHRINK OFF,
|
||||
AUTO_UPDATE_STATISTICS ON,
|
||||
RECURSIVE_TRIGGERS OFF
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET ALLOW_SNAPSHOT_ISOLATION OFF;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET READ_COMMITTED_SNAPSHOT OFF
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET AUTO_UPDATE_STATISTICS_ASYNC OFF,
|
||||
PAGE_VERIFY NONE,
|
||||
DATE_CORRELATION_OPTIMIZATION OFF,
|
||||
DISABLE_BROKER,
|
||||
PARAMETERIZATION SIMPLE,
|
||||
SUPPLEMENTAL_LOGGING OFF
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF IS_SRVROLEMEMBER(N'sysadmin') = 1
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
EXECUTE sp_executesql N'ALTER DATABASE [$(DatabaseName)]
|
||||
SET TRUSTWORTHY OFF,
|
||||
DB_CHAINING OFF
|
||||
WITH ROLLBACK IMMEDIATE';
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT N'데이터베이스 설정을 수정할 수 없습니다. 이러한 설정을 적용하려면 SysAdmin이어야 합니다.';
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF IS_SRVROLEMEMBER(N'sysadmin') = 1
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
EXECUTE sp_executesql N'ALTER DATABASE [$(DatabaseName)]
|
||||
SET HONOR_BROKER_PRIORITY OFF
|
||||
WITH ROLLBACK IMMEDIATE';
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
PRINT N'데이터베이스 설정을 수정할 수 없습니다. 이러한 설정을 적용하려면 SysAdmin이어야 합니다.';
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET TARGET_RECOVERY_TIME = 0 SECONDS
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET FILESTREAM(NON_TRANSACTED_ACCESS = OFF),
|
||||
CONTAINMENT = NONE
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = OFF),
|
||||
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = OFF,
|
||||
DELAYED_DURABILITY = DISABLED
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET QUERY_STORE (QUERY_CAPTURE_MODE = ALL, DATA_FLUSH_INTERVAL_SECONDS = 900, INTERVAL_LENGTH_MINUTES = 60, MAX_PLANS_PER_QUERY = 200, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 367), MAX_STORAGE_SIZE_MB = 100)
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET QUERY_STORE = OFF
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0;
|
||||
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY;
|
||||
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = OFF;
|
||||
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
|
||||
ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = ON;
|
||||
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY;
|
||||
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = OFF;
|
||||
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET QUERY_OPTIMIZER_HOTFIXES = PRIMARY;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET TEMPORAL_HISTORY_RETENTION ON
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF fulltextserviceproperty(N'IsFulltextInstalled') = 1
|
||||
EXECUTE sp_fulltext_database 'enable';
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'테이블 [dbo].[tVerifyResult]을(를) 만드는 중...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[tVerifyResult] (
|
||||
[cCuid] BIGINT NOT NULL,
|
||||
[cResult] NCHAR (20) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED ([cCuid] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'테이블 [dbo].[tOcsp]을(를) 만드는 중...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[tOcsp] (
|
||||
[cCuid] BIGINT NOT NULL,
|
||||
[cStatus] NVARCHAR (20) NOT NULL,
|
||||
[cVerify] NVARCHAR (20) NOT NULL,
|
||||
[cOcsp] NVARCHAR (MAX) NULL,
|
||||
[cDateTime] DATETIME2 (7) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED ([cCuid] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'테이블 [dbo].[tTbscsr]을(를) 만드는 중...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[tTbscsr] (
|
||||
[cCuid] BIGINT IDENTITY (1, 1) NOT NULL,
|
||||
[cIftid] NVARCHAR (100) NOT NULL,
|
||||
[cMacaddr] NVARCHAR (100) NOT NULL,
|
||||
[cWmi] NVARCHAR (20) NOT NULL,
|
||||
[cIdType] NVARCHAR (10) NOT NULL,
|
||||
[cSupplierId] NVARCHAR (10) NOT NULL,
|
||||
[cDc] NVARCHAR (20) NOT NULL,
|
||||
[cTierCode] NVARCHAR (20) NOT NULL,
|
||||
[cUnitCode] NVARCHAR (20) NOT NULL,
|
||||
[cPublickey] NVARCHAR (1024) NOT NULL,
|
||||
[cCertType] NVARCHAR (20) NOT NULL,
|
||||
[cOriginTbscsr] NVARCHAR (4000) NOT NULL,
|
||||
[cHashedTbscsr] NVARCHAR (1024) NOT NULL,
|
||||
[cPcid] NVARCHAR (50) NOT NULL,
|
||||
[cDn] NVARCHAR (250) NOT NULL,
|
||||
[cDateTime] DATETIME2 (7) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED ([cCuid] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'테이블 [dbo].[tCertificate]을(를) 만드는 중...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[tCertificate] (
|
||||
[cCuid] BIGINT NOT NULL,
|
||||
[cCsrsignature] NVARCHAR (1024) NOT NULL,
|
||||
[cTierCode] NVARCHAR (20) NOT NULL,
|
||||
[cUnitCode] NVARCHAR (20) NOT NULL,
|
||||
[cVehicleCode] NVARCHAR (20) NOT NULL,
|
||||
[cLocalCode] NVARCHAR (20) NOT NULL,
|
||||
[cBrandCode] NVARCHAR (20) NOT NULL,
|
||||
[cCsr] NVARCHAR (2048) NOT NULL,
|
||||
[cCert] NVARCHAR (2048) NOT NULL,
|
||||
[cMessage] NVARCHAR (250) NOT NULL,
|
||||
[cIssueCount] INT NOT NULL,
|
||||
[cDateTime] DATETIME2 (7) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED ([cCuid] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
-- 배포된 트랜잭션 로그를 사용하여 대상 서버를 업데이트하는 리팩터링 단계
|
||||
|
||||
IF OBJECT_ID(N'dbo.__RefactorLog') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[__RefactorLog] (OperationKey UNIQUEIDENTIFIER NOT NULL PRIMARY KEY)
|
||||
EXEC sp_addextendedproperty N'microsoft_database_tools_support', N'refactoring log', N'schema', N'dbo', N'table', N'__RefactorLog'
|
||||
END
|
||||
GO
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = 'aef5aa4e-a13d-46f1-b18e-e058c617b408')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('aef5aa4e-a13d-46f1-b18e-e058c617b408')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '648c532d-8e23-44f8-b657-11f87afbf718')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('648c532d-8e23-44f8-b657-11f87afbf718')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '9ee0544c-0be5-4023-8ef4-033987c586b8')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('9ee0544c-0be5-4023-8ef4-033987c586b8')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '88f4fb4b-2eb9-4f7f-a439-a365764395e2')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('88f4fb4b-2eb9-4f7f-a439-a365764395e2')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '5a0e9793-c50f-4b5b-8c05-283639a11124')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('5a0e9793-c50f-4b5b-8c05-283639a11124')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '3ba5afba-2388-4351-9e65-025f6cbe3c89')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('3ba5afba-2388-4351-9e65-025f6cbe3c89')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '98b90247-2504-4303-be66-2742a0bf0681')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('98b90247-2504-4303-be66-2742a0bf0681')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '8fa6e7d1-aa81-4b5d-afbe-2bbf9823e5e3')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('8fa6e7d1-aa81-4b5d-afbe-2bbf9823e5e3')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '192ddc5c-7dab-4713-b486-4f0b3afb9817')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('192ddc5c-7dab-4713-b486-4f0b3afb9817')
|
||||
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = 'c7631cfd-d064-4fce-b44f-9df70e6cc41e')
|
||||
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('c7631cfd-d064-4fce-b44f-9df70e6cc41e')
|
||||
|
||||
GO
|
||||
|
||||
GO
|
||||
DECLARE @VarDecimalSupported AS BIT;
|
||||
|
||||
SELECT @VarDecimalSupported = 0;
|
||||
|
||||
IF ((ServerProperty(N'EngineEdition') = 3)
|
||||
AND (((@@microsoftversion / power(2, 24) = 9)
|
||||
AND (@@microsoftversion & 0xffff >= 3024))
|
||||
OR ((@@microsoftversion / power(2, 24) = 10)
|
||||
AND (@@microsoftversion & 0xffff >= 1600))))
|
||||
SELECT @VarDecimalSupported = 1;
|
||||
|
||||
IF (@VarDecimalSupported > 0)
|
||||
BEGIN
|
||||
EXECUTE sp_db_vardecimal_storage_format N'$(DatabaseName)', 'ON';
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET MULTI_USER
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'업데이트가 완료되었습니다.';
|
||||
|
||||
|
||||
GO
|
||||
195
Projects/VPKI/VPKI.DB/DBPatch/sqlScripts/VPKI.DataDB_Update.sql
Normal file
195
Projects/VPKI/VPKI.DB/DBPatch/sqlScripts/VPKI.DataDB_Update.sql
Normal file
@ -0,0 +1,195 @@
|
||||
/*
|
||||
VPKI_DataDB의 배포 스크립트
|
||||
|
||||
이 코드는 도구를 사용하여 생성되었습니다.
|
||||
파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
변경 내용이 손실됩니다.
|
||||
*/
|
||||
|
||||
GO
|
||||
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
|
||||
|
||||
SET NUMERIC_ROUNDABORT OFF;
|
||||
|
||||
|
||||
GO
|
||||
/*
|
||||
:setvar DatabaseName "VPKI_DataDB"
|
||||
:setvar DefaultFilePrefix "VPKI_DataDB"
|
||||
:setvar DefaultDataPath "D:\MSSQL\DATA\"
|
||||
:setvar DefaultLogPath "D:\MSSQL\DATA\"
|
||||
*/
|
||||
|
||||
GO
|
||||
:on error exit
|
||||
GO
|
||||
/*
|
||||
SQLCMD 모드가 지원되지 않으면 SQLCMD 모드를 검색하고 스크립트를 실행하지 않습니다.
|
||||
SQLCMD 모드를 설정한 후에 이 스크립트를 다시 사용하려면 다음을 실행합니다.
|
||||
SET NOEXEC OFF;
|
||||
*/
|
||||
:setvar __IsSqlCmdEnabled "True"
|
||||
GO
|
||||
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
|
||||
BEGIN
|
||||
PRINT N'이 스크립트를 실행하려면 SQLCMD 모드를 사용하도록 설정해야 합니다.';
|
||||
SET NOEXEC ON;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
USE [$(DatabaseName)];
|
||||
|
||||
|
||||
GO
|
||||
/*
|
||||
[dbo].[tCertificate].[cDn] 열이 삭제되므로 데이터 손실이 발생할 수 있습니다.
|
||||
|
||||
테이블 [dbo].[tCertificate]의 열 [[dbo].[tCertificate].[cCsrsignature]]을(를) 추가해야 하지만 해당 열에 기본값이 없으며 NULL 값을 허용하지 않습니다. 테이블에 데이터가 있으면 ALTER 스크립트가 실행되지 않습니다. 이러한 문제를 방지하려면 열에 기본값을 추가 및 해당 열을 NULL 값을 허용하도록 표시하거나 스마트 기본값을 배포 옵션으로서 생성할 수 있도록 하십시오.
|
||||
|
||||
[dbo].[tCertificate] 테이블의 cCert 열을 NULL에서 NOT NULL로 변경해야 합니다. 테이블에 데이터가 있으면 ALTER 스크립트가 실행되지 않습니다. 이러한 문제를 방지하려면 모든 행에 대해 이 열에 값을 추가 또는 해당 열을 NULL 값을 허용하도록 표시하거나 스마트 기본값을 배포 옵션으로서 생성할 수 있도록 하십시오.
|
||||
|
||||
[dbo].[tCertificate] 테이블의 cMessage 열을 NULL에서 NOT NULL로 변경해야 합니다. 테이블에 데이터가 있으면 ALTER 스크립트가 실행되지 않습니다. 이러한 문제를 방지하려면 모든 행에 대해 이 열에 값을 추가 또는 해당 열을 NULL 값을 허용하도록 표시하거나 스마트 기본값을 배포 옵션으로서 생성할 수 있도록 하십시오.
|
||||
*/
|
||||
|
||||
IF EXISTS (select top 1 1 from [dbo].[tCertificate])
|
||||
RAISERROR (N'행이 발견되었습니다. 데이터가 손실될 수 있으므로 스키마 업데이트가 종료됩니다.', 16, 127) WITH NOWAIT
|
||||
|
||||
GO
|
||||
/*
|
||||
[dbo].[tTbscsr].[cCsrsignature] 열이 삭제되므로 데이터 손실이 발생할 수 있습니다.
|
||||
|
||||
[dbo].[tTbscsr].[cTbscsrOrigin] 열이 삭제되므로 데이터 손실이 발생할 수 있습니다.
|
||||
|
||||
테이블 [dbo].[tTbscsr]의 열 [[dbo].[tTbscsr].[cDn]]을(를) 추가해야 하지만 해당 열에 기본값이 없으며 NULL 값을 허용하지 않습니다. 테이블에 데이터가 있으면 ALTER 스크립트가 실행되지 않습니다. 이러한 문제를 방지하려면 열에 기본값을 추가 및 해당 열을 NULL 값을 허용하도록 표시하거나 스마트 기본값을 배포 옵션으로서 생성할 수 있도록 하십시오.
|
||||
|
||||
테이블 [dbo].[tTbscsr]의 열 [[dbo].[tTbscsr].[cOriginTbscsr]]을(를) 추가해야 하지만 해당 열에 기본값이 없으며 NULL 값을 허용하지 않습니다. 테이블에 데이터가 있으면 ALTER 스크립트가 실행되지 않습니다. 이러한 문제를 방지하려면 열에 기본값을 추가 및 해당 열을 NULL 값을 허용하도록 표시하거나 스마트 기본값을 배포 옵션으로서 생성할 수 있도록 하십시오.
|
||||
*/
|
||||
|
||||
IF EXISTS (select top 1 1 from [dbo].[tTbscsr])
|
||||
RAISERROR (N'행이 발견되었습니다. 데이터가 손실될 수 있으므로 스키마 업데이트가 종료됩니다.', 16, 127) WITH NOWAIT
|
||||
|
||||
GO
|
||||
PRINT N'[dbo].[tCertificate] 테이블 다시 빌드 시작...';
|
||||
|
||||
|
||||
GO
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
|
||||
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
CREATE TABLE [dbo].[tmp_ms_xx_tCertificate] (
|
||||
[cCuid] BIGINT NOT NULL,
|
||||
[cCsrsignature] NVARCHAR (1024) NOT NULL,
|
||||
[cTierCode] NVARCHAR (20) NOT NULL,
|
||||
[cUnitCode] NVARCHAR (20) NOT NULL,
|
||||
[cVehicleCode] NVARCHAR (20) NOT NULL,
|
||||
[cLocalCode] NVARCHAR (20) NOT NULL,
|
||||
[cBrandCode] NVARCHAR (20) NOT NULL,
|
||||
[cCsr] NVARCHAR (2048) NOT NULL,
|
||||
[cCert] NVARCHAR (2048) NOT NULL,
|
||||
[cMessage] NVARCHAR (250) NOT NULL,
|
||||
[cIssueCount] INT NOT NULL,
|
||||
[cDateTime] DATETIME2 (7) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED ([cCuid] ASC)
|
||||
);
|
||||
|
||||
IF EXISTS (SELECT TOP 1 1
|
||||
FROM [dbo].[tCertificate])
|
||||
BEGIN
|
||||
INSERT INTO [dbo].[tmp_ms_xx_tCertificate] ([cCuid], [cCsr], [cTierCode], [cUnitCode], [cVehicleCode], [cLocalCode], [cBrandCode], [cCert], [cMessage], [cIssueCount], [cDateTime])
|
||||
SELECT [cCuid],
|
||||
[cCsr],
|
||||
[cTierCode],
|
||||
[cUnitCode],
|
||||
[cVehicleCode],
|
||||
[cLocalCode],
|
||||
[cBrandCode],
|
||||
[cCert],
|
||||
[cMessage],
|
||||
[cIssueCount],
|
||||
[cDateTime]
|
||||
FROM [dbo].[tCertificate]
|
||||
ORDER BY [cCuid] ASC;
|
||||
END
|
||||
|
||||
DROP TABLE [dbo].[tCertificate];
|
||||
|
||||
EXECUTE sp_rename N'[dbo].[tmp_ms_xx_tCertificate]', N'tCertificate';
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
|
||||
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'[dbo].[tTbscsr] 테이블 다시 빌드 시작...';
|
||||
|
||||
|
||||
GO
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
|
||||
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
CREATE TABLE [dbo].[tmp_ms_xx_tTbscsr] (
|
||||
[cCuid] BIGINT IDENTITY (1, 1) NOT NULL,
|
||||
[cIftid] NVARCHAR (100) NOT NULL,
|
||||
[cMacaddr] NVARCHAR (100) NOT NULL,
|
||||
[cWmi] NVARCHAR (20) NOT NULL,
|
||||
[cIdType] NVARCHAR (10) NOT NULL,
|
||||
[cSupplierId] NVARCHAR (10) NOT NULL,
|
||||
[cDc] NVARCHAR (20) NOT NULL,
|
||||
[cTierCode] NVARCHAR (20) NOT NULL,
|
||||
[cUnitCode] NVARCHAR (20) NOT NULL,
|
||||
[cPublickey] NVARCHAR (1024) NOT NULL,
|
||||
[cCertType] NVARCHAR (20) NOT NULL,
|
||||
[cOriginTbscsr] NVARCHAR (4000) NOT NULL,
|
||||
[cHashedTbscsr] NVARCHAR (1024) NOT NULL,
|
||||
[cPcid] NVARCHAR (50) NOT NULL,
|
||||
[cDn] NVARCHAR (250) NOT NULL,
|
||||
[cDateTime] DATETIME2 (7) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED ([cCuid] ASC)
|
||||
);
|
||||
|
||||
IF EXISTS (SELECT TOP 1 1
|
||||
FROM [dbo].[tTbscsr])
|
||||
BEGIN
|
||||
SET IDENTITY_INSERT [dbo].[tmp_ms_xx_tTbscsr] ON;
|
||||
INSERT INTO [dbo].[tmp_ms_xx_tTbscsr] ([cCuid], [cIftid], [cMacaddr], [cWmi], [cIdType], [cSupplierId], [cDc], [cTierCode], [cUnitCode], [cPublickey], [cCertType], [cHashedTbscsr], [cPcid], [cDateTime])
|
||||
SELECT [cCuid],
|
||||
[cIftid],
|
||||
[cMacaddr],
|
||||
[cWmi],
|
||||
[cIdType],
|
||||
[cSupplierId],
|
||||
[cDc],
|
||||
[cTierCode],
|
||||
[cUnitCode],
|
||||
[cPublickey],
|
||||
[cCertType],
|
||||
[cHashedTbscsr],
|
||||
[cPcid],
|
||||
[cDateTime]
|
||||
FROM [dbo].[tTbscsr]
|
||||
ORDER BY [cCuid] ASC;
|
||||
SET IDENTITY_INSERT [dbo].[tmp_ms_xx_tTbscsr] OFF;
|
||||
END
|
||||
|
||||
DROP TABLE [dbo].[tTbscsr];
|
||||
|
||||
EXECUTE sp_rename N'[dbo].[tmp_ms_xx_tTbscsr]', N'tTbscsr';
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
|
||||
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'업데이트가 완료되었습니다.';
|
||||
|
||||
|
||||
GO
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Operations Version="1.0" xmlns="http://schemas.microsoft.com/sqlserver/dac/Serialization/2012/02">
|
||||
<Operation Name="Rename Refactor" Key="7ca1fbc9-cead-4c01-b8df-1a9a69e13266" ChangeDateTime="12/03/2024 00:57:27">
|
||||
<Property Name="ElementName" Value="[dbo].[tUser].[Id]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tUser]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cGuid" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="7e3c9cab-1b27-43f3-8519-960704ce037b" ChangeDateTime="12/03/2024 00:57:30">
|
||||
<Property Name="ElementName" Value="[dbo].[tUser].[username]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tUser]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cUsername" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="f0511507-0a0d-4bde-a3b2-39b5106c85f0" ChangeDateTime="12/03/2024 01:00:03">
|
||||
<Property Name="ElementName" Value="[dbo].[tUser].[cGuid]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tUser]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cAuid" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="da1fde46-473c-41bb-aa02-260e3385475d" ChangeDateTime="12/03/2024 01:04:01">
|
||||
<Property Name="ElementName" Value="[dbo].[tRole].[Id]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tRole]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cAuid" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="8f767203-3e50-46b7-a513-53461cf358ac" ChangeDateTime="12/03/2024 01:06:25">
|
||||
<Property Name="ElementName" Value="[dbo].[tUser].[cUsername]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tUser]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cUserID" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="4b1fa7eb-a0b5-425d-8358-7a8ca6cff7ad" ChangeDateTime="12/03/2024 01:06:31">
|
||||
<Property Name="ElementName" Value="[dbo].[tRole].[cRole]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tRole]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cRoleID" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="5e298150-8e73-458c-aad7-8bf15975edc0" ChangeDateTime="12/03/2024 01:08:52">
|
||||
<Property Name="ElementName" Value="[dbo].[tRefreshToken].[Id]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tRefreshToken]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cAuid" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="6b49864f-05d3-40ae-9c55-b7845af2d49e" ChangeDateTime="01/20/2025 00:52:23">
|
||||
<Property Name="ElementName" Value="[dbo].[tUser].[cBlock]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tUser]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cState" />
|
||||
</Operation>
|
||||
</Operations>
|
||||
84
Projects/VPKI/VPKI.DB/VPKI.AccountDB/VPKI.AccountDB.sqlproj
Normal file
84
Projects/VPKI/VPKI.DB/VPKI.AccountDB/VPKI.AccountDB.sqlproj
Normal file
@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<Name>VPKI.AccountDB</Name>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>4.1</ProjectVersion>
|
||||
<ProjectGuid>{6d9f945f-42ae-4c95-9656-a24fa23f4782}</ProjectGuid>
|
||||
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
|
||||
<OutputType>Database</OutputType>
|
||||
<RootPath>
|
||||
</RootPath>
|
||||
<RootNamespace>VPKI.AccountDB</RootNamespace>
|
||||
<AssemblyName>VPKI.AccountDB</AssemblyName>
|
||||
<ModelCollation>1042,CI</ModelCollation>
|
||||
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
|
||||
<DeployToDatabase>True</DeployToDatabase>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<TargetLanguage>CS</TargetLanguage>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<SqlServerVerification>False</SqlServerVerification>
|
||||
<IncludeCompositeObjects>True</IncludeCompositeObjects>
|
||||
<TargetDatabaseSet>True</TargetDatabaseSet>
|
||||
<GenerateCreateScript>True</GenerateCreateScript>
|
||||
<DefaultCollation>Korean_Wansung_CI_AS</DefaultCollation>
|
||||
<Recovery>SIMPLE</Recovery>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
|
||||
<!-- Default to the v11.0 targets path if the targets file for the current VS version is not found -->
|
||||
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
|
||||
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">11.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
<Folder Include="dbo" />
|
||||
<Folder Include="dbo\Tables" />
|
||||
<Folder Include="dbo\StoredProcedures" />
|
||||
<Folder Include="dbo\Functions" />
|
||||
<Folder Include="dbo\Scripts" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Build Include="dbo\Tables\tUser.sql" />
|
||||
<Build Include="dbo\Tables\tRole.sql" />
|
||||
<Build Include="dbo\Tables\tRefreshToken.sql" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<RefactorLog Include="VPKI.AccountDB.refactorlog" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PostDeploy Include="dbo\Scripts\scriptAfterBuild.sql" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy /y $(ProjectDir)$(OutputPath)$(TargetName)_Create.sql $(SolutionDir)DBPatch\sqlScripts\
|
||||
|
||||
xcopy /y $(ProjectDir)$(OutputPath)$(TargetName).dacpac $(SolutionDir)DBPatch\sqlScripts\dacpac\</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,20 @@
|
||||
/*
|
||||
배포 후 스크립트 템플릿
|
||||
--------------------------------------------------------------------------------------
|
||||
이 파일에는 빌드 스크립트에 추가될 SQL 문이 있습니다.
|
||||
SQLCMD 구문을 사용하여 파일을 배포 후 스크립트에 포함합니다.
|
||||
예: :r .\myfile.sql
|
||||
SQLCMD 구문을 사용하여 배포 후 스크립트의 변수를 참조합니다.
|
||||
예: :setvar TableName MyTable
|
||||
SELECT * FROM [$(TableName)]
|
||||
--------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM tUser WHERE cUserID = 'Alis')
|
||||
BEGIN
|
||||
INSERT INTO tUser (cUserID, cAuid, cPasswordHashed, cState, cCreateDateTime, cLastLoginDateTime)
|
||||
VALUES ('Alis', 'SuperUser' ,'oKLQCdunc2kT5aAVfK+POKwd8R3p8OZvs/NATwpg4gM=' ,1 ,GETDATE(), GETDATE());
|
||||
|
||||
INSERT INTO tRole(cAuid, cRoleID, cRoleName)
|
||||
VALUES ('SuperUser','20','SuperUser');
|
||||
END
|
||||
@ -0,0 +1,5 @@
|
||||
CREATE TABLE [dbo].[tRefreshToken]
|
||||
(
|
||||
[cAuid] NVARCHAR(250) NOT NULL PRIMARY KEY,
|
||||
[cRefreshToken] NVARCHAR(1000) NOT NULL
|
||||
)
|
||||
@ -0,0 +1,6 @@
|
||||
CREATE TABLE [dbo].[tRole]
|
||||
(
|
||||
[cAuid] NVARCHAR(250) NOT NULL PRIMARY KEY,
|
||||
[cRoleID] TINYINT NOT NULL,
|
||||
[cRoleName] NVARCHAR(20) NOT NULL
|
||||
)
|
||||
10
Projects/VPKI/VPKI.DB/VPKI.AccountDB/dbo/Tables/tUser.sql
Normal file
10
Projects/VPKI/VPKI.DB/VPKI.AccountDB/dbo/Tables/tUser.sql
Normal file
@ -0,0 +1,10 @@
|
||||
CREATE TABLE [dbo].[tUser]
|
||||
(
|
||||
[cUserID] NVARCHAR(50) NOT NULL,
|
||||
[cAuid] NVARCHAR(250) NOT NULL ,
|
||||
[cPasswordHashed] NVARCHAR(250) NOT NULL,
|
||||
[cState] tinyint NOT NULL,
|
||||
[cCreateDateTime] DATETIME2 NOT NULL,
|
||||
[cLastLoginDateTime] DATETIME2 NULL,
|
||||
PRIMARY KEY ([cUserID])
|
||||
)
|
||||
35
Projects/VPKI/VPKI.DB/VPKI.DB.sln
Normal file
35
Projects/VPKI/VPKI.DB/VPKI.DB.sln
Normal file
@ -0,0 +1,35 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.9.34728.123
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "VPKI.AccountDB", "VPKI.AccountDB\VPKI.AccountDB.sqlproj", "{6D9F945F-42AE-4C95-9656-A24FA23F4782}"
|
||||
EndProject
|
||||
Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "VPKI.DataDB", "VPKI.DataDB\VPKI.DataDB.sqlproj", "{85B3CD8C-6920-4E6D-A914-7D25B6924A22}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{6D9F945F-42AE-4C95-9656-A24FA23F4782}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6D9F945F-42AE-4C95-9656-A24FA23F4782}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6D9F945F-42AE-4C95-9656-A24FA23F4782}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{6D9F945F-42AE-4C95-9656-A24FA23F4782}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6D9F945F-42AE-4C95-9656-A24FA23F4782}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6D9F945F-42AE-4C95-9656-A24FA23F4782}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{85B3CD8C-6920-4E6D-A914-7D25B6924A22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{85B3CD8C-6920-4E6D-A914-7D25B6924A22}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{85B3CD8C-6920-4E6D-A914-7D25B6924A22}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{85B3CD8C-6920-4E6D-A914-7D25B6924A22}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{85B3CD8C-6920-4E6D-A914-7D25B6924A22}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{85B3CD8C-6920-4E6D-A914-7D25B6924A22}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {783B428F-7368-4F65-98B6-DB3C2B2D0EB0}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
73
Projects/VPKI/VPKI.DB/VPKI.DataDB/VPKI.DataDB.refactorlog
Normal file
73
Projects/VPKI/VPKI.DB/VPKI.DataDB/VPKI.DataDB.refactorlog
Normal file
@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Operations Version="1.0" xmlns="http://schemas.microsoft.com/sqlserver/dac/Serialization/2012/02">
|
||||
<Operation Name="Rename Refactor" Key="aef5aa4e-a13d-46f1-b18e-e058c617b408" ChangeDateTime="12/23/2024 01:59:13">
|
||||
<Property Name="ElementName" Value="[dbo].[t_V1_Tbscsr].[cIftgid]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[t_V1_Tbscsr]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cIftid" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="648c532d-8e23-44f8-b657-11f87afbf718" ChangeDateTime="12/23/2024 02:09:55">
|
||||
<Property Name="ElementName" Value="[dbo].[tTbscsrResponse].[Id]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tTbscsrResponse]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cCuid" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="9ee0544c-0be5-4023-8ef4-033987c586b8" ChangeDateTime="12/23/2024 02:10:31">
|
||||
<Property Name="ElementName" Value="[dbo].[tTbscsrResponse].[status]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tTbscsrResponse]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cStatus" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="88f4fb4b-2eb9-4f7f-a439-a365764395e2" ChangeDateTime="12/23/2024 02:10:35">
|
||||
<Property Name="ElementName" Value="[dbo].[tTbscsrResponse].[message]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tTbscsrResponse]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cMessage" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="5a0e9793-c50f-4b5b-8c05-283639a11124" ChangeDateTime="12/23/2024 05:58:10">
|
||||
<Property Name="ElementName" Value="[dbo].[tCertificate].[Id]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tCertificate]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cId" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="3ba5afba-2388-4351-9e65-025f6cbe3c89" ChangeDateTime="12/23/2024 05:58:11">
|
||||
<Property Name="ElementName" Value="[dbo].[tCertificate].[cert]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tCertificate]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cCert" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="98b90247-2504-4303-be66-2742a0bf0681" ChangeDateTime="12/23/2024 05:58:21">
|
||||
<Property Name="ElementName" Value="[dbo].[tCertificate].[cId]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tCertificate]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cCuid" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="8fa6e7d1-aa81-4b5d-afbe-2bbf9823e5e3" ChangeDateTime="12/26/2024 06:42:10">
|
||||
<Property Name="ElementName" Value="[dbo].[tTbscsrRequest].[cRequestDateTime]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tTbscsrRequest]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cDateTime" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="192ddc5c-7dab-4713-b486-4f0b3afb9817" ChangeDateTime="01/03/2025 06:30:17">
|
||||
<Property Name="ElementName" Value="[dbo].[tVerifyResult].[Id]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tVerifyResult]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cCuid" />
|
||||
</Operation>
|
||||
<Operation Name="Rename Refactor" Key="c7631cfd-d064-4fce-b44f-9df70e6cc41e" ChangeDateTime="01/03/2025 06:55:20">
|
||||
<Property Name="ElementName" Value="[dbo].[tCsrsignature].[Id]" />
|
||||
<Property Name="ElementType" Value="SqlSimpleColumn" />
|
||||
<Property Name="ParentElementName" Value="[dbo].[tCsrsignature]" />
|
||||
<Property Name="ParentElementType" Value="SqlTable" />
|
||||
<Property Name="NewName" Value="cCuid" />
|
||||
</Operation>
|
||||
</Operations>
|
||||
82
Projects/VPKI/VPKI.DB/VPKI.DataDB/VPKI.DataDB.sqlproj
Normal file
82
Projects/VPKI/VPKI.DB/VPKI.DataDB/VPKI.DataDB.sqlproj
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<Name>VPKI.DataDB</Name>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>4.1</ProjectVersion>
|
||||
<ProjectGuid>{85b3cd8c-6920-4e6d-a914-7d25b6924a22}</ProjectGuid>
|
||||
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
|
||||
<OutputType>Database</OutputType>
|
||||
<RootPath>
|
||||
</RootPath>
|
||||
<RootNamespace>VPKI.DataDB</RootNamespace>
|
||||
<AssemblyName>VPKI.DataDB</AssemblyName>
|
||||
<ModelCollation>1042,CI</ModelCollation>
|
||||
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
|
||||
<DeployToDatabase>True</DeployToDatabase>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<TargetLanguage>CS</TargetLanguage>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<SqlServerVerification>False</SqlServerVerification>
|
||||
<IncludeCompositeObjects>True</IncludeCompositeObjects>
|
||||
<TargetDatabaseSet>True</TargetDatabaseSet>
|
||||
<GenerateCreateScript>True</GenerateCreateScript>
|
||||
<DefaultCollation>Korean_Wansung_CI_AS</DefaultCollation>
|
||||
<Recovery>SIMPLE</Recovery>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
|
||||
<!-- Default to the v11.0 targets path if the targets file for the current VS version is not found -->
|
||||
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
|
||||
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">11.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
<Folder Include="dbo" />
|
||||
<Folder Include="dbo\Functions" />
|
||||
<Folder Include="dbo\StoredProcedures" />
|
||||
<Folder Include="dbo\Tables" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Build Include="dbo\Tables\tTbscsr.sql" />
|
||||
<Build Include="dbo\Tables\tCertificate.sql" />
|
||||
<Build Include="dbo\Tables\tVerifyResult.sql" />
|
||||
<Build Include="dbo\Tables\tOcsp.sql" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<RefactorLog Include="VPKI.DataDB.refactorlog" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy /y $(ProjectDir)$(OutputPath)$(TargetName)_Create.sql $(SolutionDir)DBPatch\sqlScripts\
|
||||
|
||||
xcopy /y $(ProjectDir)$(OutputPath)$(TargetName).dacpac $(SolutionDir)DBPatch\sqlScripts\dacpac\</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,15 @@
|
||||
CREATE TABLE [dbo].[tCertificate]
|
||||
(
|
||||
[cCuid] BIGINT NOT NULL PRIMARY KEY,
|
||||
[cCsrsignature] NVARCHAR(1024) NOT NULL,
|
||||
[cTierCode]NVARCHAR(20) NOT NULL,
|
||||
[cUnitCode]NVARCHAR(20) NOT NULL,
|
||||
[cVehicleCode]NVARCHAR(20) NOT NULL,
|
||||
[cLocalCode]NVARCHAR(20) NOT NULL,
|
||||
[cBrandCode]NVARCHAR(20) NOT NULL,
|
||||
[cCsr] NVARCHAR(2048) NOT NULL,
|
||||
[cCert] NVARCHAR(2048) NOT NULL,
|
||||
[cMessage] NVARCHAR(250) NOT NULL,
|
||||
[cIssueCount] INT NOT NULL,
|
||||
[cDateTime] DATETIME2 NOT NULL
|
||||
)
|
||||
8
Projects/VPKI/VPKI.DB/VPKI.DataDB/dbo/Tables/tOcsp.sql
Normal file
8
Projects/VPKI/VPKI.DB/VPKI.DataDB/dbo/Tables/tOcsp.sql
Normal file
@ -0,0 +1,8 @@
|
||||
CREATE TABLE [dbo].[tOcsp]
|
||||
(
|
||||
[cCuid] BIGINT NOT NULL PRIMARY KEY,
|
||||
[cStatus] NVARCHAR(20) NOT NULL,
|
||||
[cVerify] NVARCHAR(20) NOT NULL,
|
||||
[cOcsp] NVARCHAR(MAX) NULL,
|
||||
[cDateTime] DATETIME2 NOT NULL
|
||||
)
|
||||
19
Projects/VPKI/VPKI.DB/VPKI.DataDB/dbo/Tables/tTbscsr.sql
Normal file
19
Projects/VPKI/VPKI.DB/VPKI.DataDB/dbo/Tables/tTbscsr.sql
Normal file
@ -0,0 +1,19 @@
|
||||
CREATE TABLE [dbo].[tTbscsr]
|
||||
(
|
||||
[cCuid] BIGINT NOT NULL PRIMARY KEY IDENTITY(1,1),
|
||||
[cIftid] NVARCHAR(100) NOT NULL,
|
||||
[cMacaddr] NVARCHAR(100) NOT NULL,
|
||||
[cWmi] NVARCHAR(20) NOT NULL,
|
||||
[cIdType] NVARCHAR(10)NOT NULL,
|
||||
[cSupplierId] NVARCHAR(10) NOT NULL,
|
||||
[cDc] NVARCHAR(20) NOT NULL,
|
||||
[cTierCode]NVARCHAR(20) NOT NULL,
|
||||
[cUnitCode]NVARCHAR(20) NOT NULL,
|
||||
[cPublickey]NVARCHAR(1024) NOT NULL,
|
||||
[cCertType]NVARCHAR(20) NOT NULL,
|
||||
[cOriginTbscsr] NVARCHAR(4000) NOT NULL,
|
||||
[cHashedTbscsr] NVARCHAR(1024) NOT NULL,
|
||||
[cPcid] NVARCHAR(50) NOT NULL,
|
||||
[cDn]NVARCHAR(250) NOT NULL,
|
||||
[cDateTime] DATETIME2 NOT NULL
|
||||
)
|
||||
@ -0,0 +1,5 @@
|
||||
CREATE TABLE [dbo].[tVerifyResult]
|
||||
(
|
||||
[cCuid] BIGINT NOT NULL PRIMARY KEY,
|
||||
[cResult] NCHAR(20) NOT NULL
|
||||
)
|
||||
Reference in New Issue
Block a user