Home All Groups Group Topic Archive Search About
Author
29 Nov 2007 3:07 PM
Adam Sankey
I'm trying to write a script for adding database but keep getting the error
below:

Server: Msg 170, Level 15, State 1, Line 4
Line 4: Incorrect syntax near '@loglogicalName'.

This doesn't make any sense to me as I can't see the problem (maybe I can't
see the wood for the trees). Can somebody please helpme, the script is adde
dbelow?

Thanks
Adam


declare @databaseName nvarchar(100),
        @dataAndlogDir nvarchar(100),
        @sql nvarchar(400),
        @dataFileName nvarchar(200),
        @logFileName nvarchar(200),
        @loglogicalName nvarchar(105),
        @datalogicalName nvarchar(105),
        @parmDef nvarchar(500)

set @databaseName = 'AppDevTest'
set @dataAndlogDir = 'E:\Program Files\Microsoft SQL
Server\MSSQL$MISCDB\Data\'

set @datalogicalName = @databaseName + '_dat'
set @dataFileName = @dataAndlogDir + @databaseName + '_dat.mdf'
set @loglogicalName = @databaseName + '_log'
set @logFileName = @dataAndlogDir + @databaseName + '_log.ldf'


set @parmDef = N'@databaseName varchar(100),
@datalogicalName varchar(105),
@dataFileName varchar(200)
@loglogicalName varchar(105),
@logFileName varchar(200)'

set @sql = 'create database @databaseName
on
( name = @datalogicalName
  filename = @dataFileName
  size = 10MB,
  filegrowth = 10MB )
log on
( name = @loglogicalName
  filename = @logFileName
  size = 5MB,
  filegrowth = 5MB )'

exec sp_executesql @sql, @parmDef,
              @databaseName = @databaseName,
              @datalogicalName = @datalogicalName,
              @dataFileName = @dataFileName,
              @loglogicalName = @loglogicalName,
              @logFileName = @logFileName

Author
29 Nov 2007 3:24 PM
Plamen Ratchev
Show quote
"Adam Sankey" <AdamSan***@discussions.microsoft.com> wrote in message
news:A1B7C3EB-DA55-4336-A537-1B5380AA4196@microsoft.com...
> I'm trying to write a script for adding database but keep getting the
> error
> below:
>
> Server: Msg 170, Level 15, State 1, Line 4
> Line 4: Incorrect syntax near '@loglogicalName'.
>
> This doesn't make any sense to me as I can't see the problem (maybe I
> can't
> see the wood for the trees). Can somebody please helpme, the script is
> adde
> dbelow?
>
> Thanks
> Adam
>
>
> declare @databaseName nvarchar(100),
>        @dataAndlogDir nvarchar(100),
>        @sql nvarchar(400),
>        @dataFileName nvarchar(200),
>        @logFileName nvarchar(200),
>        @loglogicalName nvarchar(105),
>        @datalogicalName nvarchar(105),
>        @parmDef nvarchar(500)
>
> set @databaseName = 'AppDevTest'
> set @dataAndlogDir = 'E:\Program Files\Microsoft SQL
> Server\MSSQL$MISCDB\Data\'
>
> set @datalogicalName = @databaseName + '_dat'
> set @dataFileName = @dataAndlogDir + @databaseName + '_dat.mdf'
> set @loglogicalName = @databaseName + '_log'
> set @logFileName = @dataAndlogDir + @databaseName + '_log.ldf'
>
>
> set @parmDef = N'@databaseName varchar(100),
> @datalogicalName varchar(105),
> @dataFileName varchar(200)
> @loglogicalName varchar(105),
> @logFileName varchar(200)'
>


One comma missing on the third line, right after @dataFileName varchar(200).


> set @sql = 'create database @databaseName
> on
> ( name = @datalogicalName
>  filename = @dataFileName
>  size = 10MB,
>  filegrowth = 10MB )
> log on
> ( name = @loglogicalName
>  filename = @logFileName
>  size = 5MB,
>  filegrowth = 5MB )'
>

And same above, after each parameter "name = ..., filename = ..., ..." and
so on.

> exec sp_executesql @sql, @parmDef,
>              @databaseName = @databaseName,
>              @datalogicalName = @datalogicalName,
>              @dataFileName = @dataFileName,
>              @loglogicalName = @loglogicalName,
>              @logFileName = @logFileName
>
>

HTH,

Plamen Ratchev
http://www.SQLStudio.com
Author
29 Nov 2007 5:00 PM
Adam Sankey
Thanks, I never thought to look at the dynamic sql I just followed Query
Analyser and was looking at the top of the script.

Adam

Show quote
"Plamen Ratchev" wrote:

> "Adam Sankey" <AdamSan***@discussions.microsoft.com> wrote in message
> news:A1B7C3EB-DA55-4336-A537-1B5380AA4196@microsoft.com...
> > I'm trying to write a script for adding database but keep getting the
> > error
> > below:
> >
> > Server: Msg 170, Level 15, State 1, Line 4
> > Line 4: Incorrect syntax near '@loglogicalName'.
> >
> > This doesn't make any sense to me as I can't see the problem (maybe I
> > can't
> > see the wood for the trees). Can somebody please helpme, the script is
> > adde
> > dbelow?
> >
> > Thanks
> > Adam
> >
> >
> > declare @databaseName nvarchar(100),
> >        @dataAndlogDir nvarchar(100),
> >        @sql nvarchar(400),
> >        @dataFileName nvarchar(200),
> >        @logFileName nvarchar(200),
> >        @loglogicalName nvarchar(105),
> >        @datalogicalName nvarchar(105),
> >        @parmDef nvarchar(500)
> >
> > set @databaseName = 'AppDevTest'
> > set @dataAndlogDir = 'E:\Program Files\Microsoft SQL
> > Server\MSSQL$MISCDB\Data\'
> >
> > set @datalogicalName = @databaseName + '_dat'
> > set @dataFileName = @dataAndlogDir + @databaseName + '_dat.mdf'
> > set @loglogicalName = @databaseName + '_log'
> > set @logFileName = @dataAndlogDir + @databaseName + '_log.ldf'
> >
> >
> > set @parmDef = N'@databaseName varchar(100),
> > @datalogicalName varchar(105),
> > @dataFileName varchar(200)
> > @loglogicalName varchar(105),
> > @logFileName varchar(200)'
> >
>
>
> One comma missing on the third line, right after @dataFileName varchar(200).
>
>
> > set @sql = 'create database @databaseName
> > on
> > ( name = @datalogicalName
> >  filename = @dataFileName
> >  size = 10MB,
> >  filegrowth = 10MB )
> > log on
> > ( name = @loglogicalName
> >  filename = @logFileName
> >  size = 5MB,
> >  filegrowth = 5MB )'
> >
>
> And same above, after each parameter "name = ..., filename = ..., ..." and
> so on.
>
> > exec sp_executesql @sql, @parmDef,
> >              @databaseName = @databaseName,
> >              @datalogicalName = @datalogicalName,
> >              @dataFileName = @dataFileName,
> >              @loglogicalName = @loglogicalName,
> >              @logFileName = @logFileName
> >
> >
>
> HTH,
>
> Plamen Ratchev
> http://www.SQLStudio.com
>
>
>

AddThis Social Bookmark Button