在自动生成的数据库脚本中,tsql – CONTAINMENT被标记为不正确的语法

我使用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版本.我想保留脚本,以防我需要在其他地方创建数据库.

为什么自动生成的脚本会导致此错误

解决方法

摆脱CONTAINMENT = NONE

这是认的,所以你不需要它,sql Server Express似乎阻止它.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...