アプリ版:「スタンプのみでお礼する」機能のリリースについて

select * from [テーブル名] で問い合わせをしたいんですが、
select * from [スキーマ名].[テーブル名] でなければエラーになってしまいます。
(「オブジェクト名 'テーブル名' は無効です。」といった、テーブルが無い旨のエラーが出ます。)

所有者(スキーマ名?)をdboに変更してするとテーブル名だけで参照できます。

例えば、テーブルの所有者を'test_user'に変更した場合、
test_userでログインしているにもかかわらず(クエリアナライザ)、修飾が無いと参照できません。
'test_user'はsystem administratorsロールに入れてあります。

SQLServerをインストールし直して DBを一から構築してもそうなります。
何か施さないといけないことがあるのでしょうか。
思い当たることがございましたら、ご教示頂ければと思います。
環境は SQL Server 2000 です。

A 回答 (2件)

しまった。

言葉足らずでしたか。。
SysAdmin(System Administrator)を付与しているからそうなるのです。
SysAdmin権限を持っていると自動的にdboで接続されるので、SELECT * FROM TABLE1とやると、SELECT * FROM test_user.TABLE1ではなく、SELECT * FROM dbo.TABLE1を実行しようとするのです。
これは仕様だと思いますよ。
    • good
    • 1
この回答へのお礼

うわっっ、おっしゃる通り、ロールからはずしたら解決しました!
そういう理由だったのですね、理解しました!
本当に助かりました、ありがとうございました!!

お礼日時:2009/02/02 11:51

そのユーザにsysadmin権限を与えていると、自動的にdboで接続されます。

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
sysadmin権限とは、
system administratorsロールのことでしょうか?
であれば既に付与しています、

お礼日時:2009/02/02 11:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A