SQL Server では、以下がエラーなしで実行されます。
create database [MyExample] with compatibility_level = 100; -- runs! why?
データベースは問題なく作成されますが、互換性レベルは設定されません。では、なぜその構文が許可されているのでしょうか?
対照的に、私が行う場合:
create database [MyExample] with nonsense_notexisting = 100; -- fails :-)
次に、予想どおり「nonsense_noteexisting」の近くに不正な構文というエラーが表示されます。
私の質問は次のとおりです。互換性レベルが設定されていない場合、最初の構文が許可されるのはなぜですか?
PS!特定の互換性を持つデータベースを作成する方法を尋ねているわけではありません。私はそれが次のように行われることを知っています:
create database [MyExample]; alter database [MyExample] set compatibility_level = 100;