web-dev-qa-db-ja.com

T-SQL CREATE VIEWが「xという名前のオブジェクトはすでに存在します」を返す

SQL Server2014。データベースに「Sales-Analysis」というビューを作成しました。最初のデータベースと同じスキーマの2番目のデータベースもあり、それにビューを追加したいと思います。そのため、SSMSで「新しいクエリエディターウィンドウにCREATEとしてスクリプトビュー」を実行しました。スクリプトの最初の行を変更して2番目のデータベースの名前を反映させ、それがSSMSデータベースのドロップダウンでも選択されるようにしました。ただし、実行すると次のようになります。

「データベースにはすでに「sales-analysis」という名前のオブジェクトがあります。」

元のデータベースにあるもの以外はありません。一時テーブルは含まれていません。 VS 2015は終了しました。

また、元のデータベースをオフラインにしたり、スクリプトを.SQLファイルとして保存してSQLCMDで実行したりしても機能しません。

同じサーバー。更新されたビュー。ターゲットデータベースに「2」が追加されたビューを正常に作成できます。これは、ビュー名が元のデータベースと同じ場合です。 use [database]はすでにスクリプトの先頭にあります-「スクリプトビュー」が追加します。対象のデータベース名に変更しました。ビュー100%がターゲットデータベースに存在しません。 sys.views

2
Alan B

ターゲットdbに同じ名前のTABLE(ビューではない)があったことが判明しました。私はそれを作成しませんでした。何が起こったかは、app.config接続文字列を2番目のデータベースを指すように変更してプロジェクトを実行したときに作成したEntity Frameworkプロジェクトだと思います。

いたずらエンティティフレームワーク。

2
Alan B