Выполнить сценарий SQL для конкретной базы данных

Я использую версию Installshield 2015. Мы создали MSI-проект сценария установки.

На вкладке SQL Scripts мы создали новое соединение SQL.

Я предоставляю CatalogName "NMC" и установлен флажок (Создать каталог, если отсутствует).

Я использую следующие сценарии SQL для запуска этой базы данных (NMC).

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Account]') AND type in (N'U'))
BEGIN
    PRINT 'Tables have already been created'
END
ELSE
BEGIN

/****** Object:  Table [dbo].[Rights]    ******/
CREATE TABLE [dbo].[Rights](
    [RightId] [int] NOT NULL,
    [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Rights] PRIMARY KEY CLUSTERED 
(
    [RightId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

Я хочу, чтобы таблица была создана в базе данных, которая упоминается в каталоге (NMC).

Прямо сейчас сценарий выполняется для Master Database.

Как я могу выполнить скрипт для каталога, упомянутого выше? Я не хочу использовать команду "USE NMC" в SQL Script.

1 ответ

Вы можете изменить базу данных MNC по умолчанию для входа в систему, который вы используете в верхней части, и снова изменить на master в конце...

Exec sp_defaultdb @loginame='login', @defdb='MNC'


Exec sp_defaultdb @loginame='login', @defdb='master'
Другие вопросы по тегам