• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLServer2008 ユーザー名の修飾無しでテーブル参照したい)

SQLServer2008 ユーザー名の修飾無しでテーブル参照したい

このQ&Aのポイント
  • SQLServer2000で動作していたプログラムをSQLServer2008で動かそうとしています。プログラムはDBのテーブルにアクセスする際にユーザー名(スキーマ)の修飾無しのSQLをDBに送っているためエラーになってしまいます。
  • SQLServer側の設定でスキーマと同じユーザーでログインしている場合はスキーマ修飾なしテーブルにアクセスする方法は無いでしょうか?
  • 質問番号:4681290も参考にしたのですがログインユーザのサーバーロールはpublicのみが割り当てられています。環境は専用レンタルサーバーでWindows Web Server 2008 + Microsoft SQL Server 2008です。アドバイスいただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

たとえばですが、ログインユーザがUser1であるとして、 ・対象のデータベースにはUser1というスキーマがある ・対象のデータベースにはUser1.Table1というテーブルがある ・SELECT * FROM Table1で上記テーブルにアクセスしたい ということですよね? そのログインユーザの対象のデータベースに対する既定のスキーマを指定できます。そこをログインユーザと同じ名前のスキーマに変更してやればよいと思います(おそらく今はdboになっているでしょう)

zanac
質問者

お礼

jamshid6さん、早々のアドバイスありがとうございました。 質問内容はその通りです。 私がログインユーザーとスキーマとの関係をよく理解していませんでした。 ユーザマッピングでユーザーとスキーマを関連付けてうまくいきました。