Ich verwende Windows 7 (x64) und ich habe ein automatisch generiertes Skript zum Erstellen einer SQL Server Express 2012-Datenbank.CONTAINMENT ist als falsche Syntax für automatisch generiertes Datenbankskript markiert
Das Skript beginnt wie folgt:
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
...
Das Skript erste Fehler ist
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'CONTAINMENT'.
Die Idee ist es, eine Datenbank von einem Server zum anderen mit verschiedenen SQL Server 2012-Versionen zu übergeben. Ich wollte die Skripte für den Fall behalten, dass ich die Datenbank woanders erstellen musste.
Warum verursacht das automatisch generierte Skript diesen Fehler?
Danke @Sebastian Meine Sie sind richtig. Ich ging auch zurück zum Server und erstellte das Skript mit der Version 2012, es wurde als 2008 R2 standardmäßig erstellt, das war das Hauptproblem. – Pimenta
@Pimenta Wie haben Sie die Skripte als 2012 statt als 2008 auf einem Server 2008 erstellt? – slayernoah
@slayernoah Der Server ist 2012, aber die Deefault-Konfiguration wurde auf 2008 festgelegt. – Pimenta