我使用的是Windows 7(x64)操作系统,并且我有一个用于创建SQL Server Express 2012数据库的自动生成脚本。
该脚本起始于以下内容:
USE [master]
GO
CREATE DATABASE [Example]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Example', FILENAME = N'D:\Example.mdf' , SIZE = 4544KB ,
MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'Example_log', FILENAME = N'D:\Example_log.ldf' , SIZE = 3136KB ,
MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [Example] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [Example].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
...
脚本的第一个错误是
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'CONTAINMENT'.
这个想法是将一个数据库从一个使用不同的SQL Server 2012版本的服务器传输到另一个服务器上。我希望保留这些脚本,以便在需要创建该数据库时在其他地方使用。
为什么自动生成的脚本会导致这个错误?