3

データベースをTeradataからSqlServerに変換しています。すべてのテーブルとプロシージャが接頭辞「dbo」で命名されていることに気づきました。(例:「dbo.Table1」)。

変換タスクがはるかに簡単になるため、「dbo」を削除できるかどうか、またどのように削除できるかを知りたいと思います。

4

5 に答える 5

3

dboはスキーマです。必要に応じて、新しいスキーマを指定できます。dboはデフォルトでSQLサーバーです。

于 2010-03-31T06:17:24.407 に答える
1

dboテーブル名の一部ではありません。これは、テーブルとストアドプロシージャがアタッチされているスキーマの名前です。dboはSQLサーバーのデフォルトスキーマですが、必要に応じて他のスキーマを追加できます。

それらについては、このMSDNの記事を参照してください。

于 2010-03-31T06:21:14.150 に答える
1

すべてのテーブルはスキーマに入る必要があります。durilaiが言うように、dboはSQL Serverの「デフォルト」スキーマです(常に存在します)。ただし、ユーザーが異なれば、デフォルトのスキーマも異なる可能性があることに注意してください(複数存在する場合)。

スキーマを指定せずにテーブルを参照すると、SQL Serverはデフォルトのスキーマでそのテーブルを検索します(他のオブジェクトについても同じことが言えます)。

したがって、デフォルトのスキーマがdboの場合、次の2つのステートメントは同等です

select * from Table1
select * from dbo.Table1
于 2010-03-31T06:21:36.943 に答える
0

ユーザーがスキーマを設定していない場合、dboはSQL Serverのデフォルトのスキーマです。必要に応じて、新しいスキーマを作成し、それにテーブルを作成できます。

于 2010-03-31T06:21:04.133 に答える
0

スキーマは便利です。たとえば、以前はすべてのストアドプロシージャに個別にアプリのログイン実行権限を付与していました。次に、すべてのストアドプロシージャを含むスキーマにアプリのログイン実行権限を付与します。これははるかに簡単です。

于 2014-05-23T17:53:32.237 に答える