From f7be1ac531d1909f3ad025481e418b4ff9553498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Ho=CC=88rler?= Date: Sun, 29 Jul 2018 11:05:07 +0200 Subject: [PATCH 1/3] Integrate check for connections into check for DB existance to avoid error on new creations of EHEC_DB --- SQL/EHEC_DB_Query.sql | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/SQL/EHEC_DB_Query.sql b/SQL/EHEC_DB_Query.sql index aa13d4d..bf2fc18 100644 --- a/SQL/EHEC_DB_Query.sql +++ b/SQL/EHEC_DB_Query.sql @@ -11,20 +11,14 @@ -- 180629 Ivan, Add inserts for fixed lists -- -------------------------------------------------- --- Set DB toSingle User so open connections do not block --- -------------------------------------------------- -PRINT 'Set Multiuser to Singleuser so all open connections are cut...'; -use master -ALTER DATABASE EHEC_DB SET SINGLE_USER WITH ROLLBACK IMMEDIATE --- -------------------------------------------------- - - - -- Auskommentieren für Löschung der Datenbank IF db_id('EHEC_DB') is not null BEGIN; - PRINT 'EHEC_DB already EXISTS, db will be deleted for a new creation.' + PRINT 'EHEC_DB already EXISTS, Set Multiuser to Singleuser so all open connections are cut...'; USE [master]; + -- Set DB toSingle User so open connections do not block Destroy of DB + ALTER DATABASE EHEC_DB SET SINGLE_USER WITH ROLLBACK IMMEDIATE + PRINT 'DB will be deleted for a new creation.' DROP DATABASE EHEC_DB; END; ELSE From 6eb2aaa4e72a4b175d7ffcf5e26a81a104d77b8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Ho=CC=88rler?= Date: Sun, 29 Jul 2018 11:16:31 +0200 Subject: [PATCH 2/3] only set multiusermode if singleuser is active --- SQL/EHEC_DB_Query.sql | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/SQL/EHEC_DB_Query.sql b/SQL/EHEC_DB_Query.sql index bf2fc18..5d52b5f 100644 --- a/SQL/EHEC_DB_Query.sql +++ b/SQL/EHEC_DB_Query.sql @@ -311,9 +311,12 @@ GO -- ('EHEC-E') --GO -- -------------------------------------------------- -PRINT 'Set Singleuser mode back to Multiuser mode.'; --- set DB back to Multiuser so multiconnections are alowed again. -ALTER DATABASE EHEC_DB SET MULTI_USER +IF DATABASEPROPERTYEX('EHEC_DB','UserAccess') = 'SINGLE_USER' + begin; + PRINT 'Set Singleuser mode back to Multiuser mode.'; + -- set DB back to Multiuser so multiconnections are alowed again. + ALTER DATABASE EHEC_DB SET MULTI_USER + end; -- -------------------------------------------------- PRINT 'Successfull created your DB!'; -- Script has ended From f09a28dffd5a2b8e27f71483db29c787c45bead3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Ho=CC=88rler?= Date: Sun, 29 Jul 2018 11:17:55 +0200 Subject: [PATCH 3/3] cleanup out-commented codeblock of constraints --- SQL/EHEC_DB_Query.sql | 95 ------------------------------------------- 1 file changed, 95 deletions(-) diff --git a/SQL/EHEC_DB_Query.sql b/SQL/EHEC_DB_Query.sql index 5d52b5f..c7025b8 100644 --- a/SQL/EHEC_DB_Query.sql +++ b/SQL/EHEC_DB_Query.sql @@ -186,89 +186,6 @@ CREATE TABLE [dbo].[Origin_Exam] ( ); GO - ----- -------------------------------------------------- ---PRINT 'Creating all PRIMARY KEY constraints'; ----- -------------------------------------------------- --- Creating primary key on [Origin_ExamId] in table 'Origin_Exam' ---ALTER TABLE [dbo].[Origin_Exam] ---ADD CONSTRAINT [PK_Origin_Exam] --- PRIMARY KEY CLUSTERED ([Origin_ExamId] ASC); ---GO - --- Creating primary key on [PatientId] in table 'Patient' ---ALTER TABLE [dbo].[Patient] ---ADD CONSTRAINT [PK_Patient] --- PRIMARY KEY CLUSTERED ([PatientId] ASC); ---GO - --- Creating primary key on [DoctorId] in table 'Doctor' ---ALTER TABLE [dbo].[Doctor] ---ADD CONSTRAINT [PK_Doctor] --- PRIMARY KEY CLUSTERED ([DoctorId] ASC); ---GO - --- Creating primary key on [OriginId] in table 'Origin' ---ALTER TABLE [dbo].[Origin] ---ADD CONSTRAINT [PK_Origin] --- PRIMARY KEY CLUSTERED ([OriginId] ASC); ---GO - --- Creating primary key on [ExamId] in table 'Exam' ---ALTER TABLE [dbo].[Exam] ---ADD CONSTRAINT [PK_Exam] --- PRIMARY KEY CLUSTERED ([ExamId] ASC); ---GO - --- Creating primary key on [ResultId] in table 'Result' ---ALTER TABLE [dbo].[Result] ---ADD CONSTRAINT [PK_Result] --- PRIMARY KEY CLUSTERED ([ResultId] ASC); ---GO - ----- -------------------------------------------------- ---PRINT 'Creating all FOREIGN KEY constraints'; ----- -------------------------------------------------- - --- Creating foreign key on [ResultId] in table 'Exam' ---ALTER TABLE [dbo].[Exam] ---ADD CONSTRAINT [FK_ResultExam] --- FOREIGN KEY ([ResultId]) --- REFERENCES [dbo].[Result]([ResultId]) --- ON DELETE NO ACTION ON UPDATE NO ACTION; ---GO - --- Creating foreign key on [DoctorId] in table 'Exam' ---ALTER TABLE [dbo].[Exam] ---ADD CONSTRAINT [FK_DoctorExam] --- FOREIGN KEY ([DoctorId]) --- REFERENCES [dbo].[Doctor]([DoctorId]) --- ON DELETE NO ACTION ON UPDATE NO ACTION; ---GO - --- Creating foreign key on [PatientId] in table 'Exam' ---ALTER TABLE [dbo].[Exam] ---ADD CONSTRAINT [FK_PatientExam] --- FOREIGN KEY ([PatientId]) --- REFERENCES [dbo].[Patient]([PatientId]) --- ON DELETE NO ACTION ON UPDATE NO ACTION; ---GO - --- Creating foreign key on [OriginId] in table 'Origin_Exam' ---ALTER TABLE [dbo].[Origin_Exam] ---ADD CONSTRAINT [FK_Origin] --- FOREIGN KEY ([OriginId]) --- REFERENCES [dbo].[Origin] ([OriginId]) --- ON DELETE NO ACTION ON UPDATE NO ACTION; ---GO - --- Creating foreign key on [ExamId] in table 'Origin_Exam' ---ALTER TABLE [dbo].[Origin_Exam] ---ADD CONSTRAINT [FK_Exam] --- FOREIGN KEY ([ExamId]) --- REFERENCES [dbo].[Exam]([ExamId]) --- ON DELETE NO ACTION ON UPDATE NO ACTION; ---GO -- -------------------------------------------------- PRINT 'Creating all INDEXES'; -- -------------------------------------------------- @@ -298,18 +215,6 @@ ON [dbo].[Origin_Exam] ([ExamId]); GO ----- -------------------------------------------------- ---PRINT 'Creating inserts for fixed list objects'; ----- -------------------------------------------------- - ---INSERT INTO Result(Name) ---VALUES --- ('EHEC-A'), --- ('EHEC-B'), --- ('EHEC-C'), --- ('EHEC-D'), --- ('EHEC-E') ---GO -- -------------------------------------------------- IF DATABASEPROPERTYEX('EHEC_DB','UserAccess') = 'SINGLE_USER' begin;