执行特定数据库的SQL脚本

时间:2015-12-30 13:45:14

标签: sql-server installshield installshield-2012

我使用的是Installshield 2015版本。我们已经创建了一个安装脚本.msi项目。

在“SQL脚本”选项卡下,我们创建了新的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]

我想要在Catalog(NMC)中提到的数据库上创建表。

现在,脚本正在对主数据库执行。

如何针对上面提到的目录执行脚本?我不想在SQL脚本中使用命令“USE NMC”。

1 个答案:

答案 0 :(得分:0)

您可以更改默认数据库MNC以登录您在顶部和最后再改为主人......

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


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