2013-03-14 10 views
14

Używam Windows 7 (x64) i mam wygenerowany automatycznie skrypt do tworzenia bazy danych SQL Server Express 2012.CONTAINMENT jest oznaczony jako niepoprawna składnia w automatycznie generowanym skrypcie bazy danych.

Skrypt rozpoczyna się następująco:

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 
    ... 

Skrypt pierwszy błąd jest

Msg 102, Level 15, State 1, Line 3 
Incorrect syntax near 'CONTAINMENT'. 

Chodzi o to, aby przejść do bazy danych z jednego serwera na drugi z innym SQL Server 2012 wersje. Chciałem zachować skrypty na wypadek, gdyby potrzebowałem stworzyć DB gdzie indziej.

Dlaczego wygenerowany automatycznie skrypt powoduje ten błąd?

Odpowiedz

20

Pozbyć się CONTAINMENT = NONE

Jest to domyślny więc nie trzeba go i SQL Server Express wydaje się dusić na nim.

+0

Dzięki @Sebastian Meine masz rację. Również wróciłem do serwera i utworzyłem skrypt z wersją 2012, domyślnie był tworzony jako 2008 R2, to był główny problem. – Pimenta

+0

@Pimenta Jak stworzyłeś skrypty jako 2012 zamiast 2008 na serwerze 2008? – slayernoah

+0

@slayernoah Serwer jest 2012, ale konfiguracja karty debugowania została ustawiona na 2008. – Pimenta

Powiązane problemy