· 7 years ago · Dec 19, 2018, 09:42 AM
1SET ANSI_NULLS ON
2GO
3SET QUOTED_IDENTIFIER ON
4GO
5IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Queue]') AND type in (N'U'))
6BEGIN
7CREATE TABLE [dbo].[Queue](
8 [QueueID] [int] IDENTITY(1,1) NOT NULL,
9 -- [SchemaName] [sysname] NOT NULL,
10 [ObjectName] [sysname] NOT NULL,
11 [Parameters] [nvarchar](max) NOT NULL,
12 [QueueStartTime] [datetime] NULL,
13 [SessionID] [smallint] NULL,
14 [RequestID] [int] NULL,
15 [RequestStartTime] [datetime] NULL,
16 CONSTRAINT [PK_Queue] PRIMARY KEY CLUSTERED
17(
18 [QueueID] ASC
19)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
20)
21END
22GO
23
24USE [MNGDB]
25GO
26
27EXEC [dbo].[DatabaseBackup]
28 @Databases = N'MNGDB',
29 @Directory = N'G:Data',
30 @BackupType = N'FULL'
31
32Msg 207, Level 16, State 1, Procedure dbo.DatabaseBackup, Line 1545 [Batch Start Line 5]
33Invalid column name 'SchemaName'.
34Msg 207, Level 16, State 1, Procedure dbo.DatabaseBackup, Line 1555 [Batch Start Line 5]
35Invalid column name 'SchemaName'.
36Msg 207, Level 16, State 1, Procedure dbo.DatabaseBackup, Line 1561 [Batch Start Line 5]
37Invalid column name 'SchemaName'.
38
39DECLARE @DatabasesInParallel char(1) = 'N', @SchemaName varchar(255) = 'test', @ErrorMessage nvarchar(max)
40 IF @DatabasesInParallel = 'Y'
41 BEGIN
42
43 BEGIN TRY
44
45 SELECT QueueID
46 FROM dbo.[Queue]
47 WHERE SchemaName = @SchemaName
48
49
50 END TRY
51
52 BEGIN CATCH
53 IF XACT_STATE() <> 0
54 BEGIN
55 ROLLBACK TRANSACTION
56 END
57 SET @ErrorMessage = 'Msg ' + CAST(ERROR_NUMBER() AS nvarchar) + ', ' + ISNULL(ERROR_MESSAGE(),'') + CHAR(13) + CHAR(10) + ' '
58 RAISERROR(@ErrorMessage,16,1) WITH NOWAIT
59 END CATCH
60
61 END
62
63Msg 207, Level 16, State 1, Line 1892
64Invalid column name 'SchemaName'.
65
66drop table dbo.[QueueDatabase]
67drop table dbo.[Queue]
68
69DECLARE @DatabasesInParallel char(1) = 'N', @SchemaName varchar(255) = 'test', @ErrorMessage nvarchar(max)
70 IF @DatabasesInParallel = 'Y'
71 BEGIN
72
73 BEGIN TRY
74
75 SELECT QueueID
76 FROM dbo.[Queue]
77 WHERE SchemaName = @SchemaName
78
79
80 END TRY
81
82 BEGIN CATCH
83 IF XACT_STATE() <> 0
84 BEGIN
85 ROLLBACK TRANSACTION
86 END
87 SET @ErrorMessage = 'Msg ' + CAST(ERROR_NUMBER() AS nvarchar) + ', ' + ISNULL(ERROR_MESSAGE(),'') + CHAR(13) + CHAR(10) + ' '
88 RAISERROR(@ErrorMessage,16,1) WITH NOWAIT
89 END CATCH
90
91 END
92
93Commands completed successfully.