0

SQLserver 2008 R2 エディションを使用しています。SQL CMD を使用してデータベースを作成しようとしています。

次のコマンドを実行しようとすると

Sqlcmd -S 10.2.202.213 -U sa -P 123@123 -Q "create database 125Build5"

次のエラーが表示されます。

メッセージ 102、レベル 15、状態 1、サーバー WS-INBLR567、行 1 '125' 付近の構文が正しくありません。

「Build5125」など、数字で始まらないデータベース名を使用すると、機能します。ただし、問題なく SSMS からデータベースを作成できます。

4

2 に答える 2

5

試す:

create database [125Build5]

識別子の規則では、とりわけ文字で始まる必要があると述べています。それらを角かっこまたは二重引用符で囲むことで、これを回避できます。

于 2012-05-15T06:00:35.823 に答える
2

数字で始まるデータベースを作成することを再考することを強くお勧めします。これは、常に修飾子が必要になるため、データベース間の選択が悲惨なものになるためです。

ただし、そうは言っても、データベースの名前を[123Whatever]. 角かっこは、名前をリテラルとして受け取るように SQL に指示するため、スペースやその他の特殊文字を含む、必要な標準の通常の命名規則を破ることができます。SSMS で数字から始めることができる理由は、SSMS がバックグラウンドで実行する SQL ステートメントがこれらの括弧を使用するためです。

于 2012-05-15T06:04:45.170 に答える