- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLServer2008 ユーザー名の修飾無しでテーブル参照したい)
SQLServer2008 ユーザー名の修飾無しでテーブル参照したい
このQ&Aのポイント
- SQLServer2000で動作していたプログラムをSQLServer2008で動かそうとしています。プログラムはDBのテーブルにアクセスする際にユーザー名(スキーマ)の修飾無しのSQLをDBに送っているためエラーになってしまいます。
- SQLServer側の設定でスキーマと同じユーザーでログインしている場合はスキーマ修飾なしテーブルにアクセスする方法は無いでしょうか?
- 質問番号:4681290も参考にしたのですがログインユーザのサーバーロールはpublicのみが割り当てられています。環境は専用レンタルサーバーでWindows Web Server 2008 + Microsoft SQL Server 2008です。アドバイスいただければ幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
たとえばですが、ログインユーザがUser1であるとして、 ・対象のデータベースにはUser1というスキーマがある ・対象のデータベースにはUser1.Table1というテーブルがある ・SELECT * FROM Table1で上記テーブルにアクセスしたい ということですよね? そのログインユーザの対象のデータベースに対する既定のスキーマを指定できます。そこをログインユーザと同じ名前のスキーマに変更してやればよいと思います(おそらく今はdboになっているでしょう)
お礼
jamshid6さん、早々のアドバイスありがとうございました。 質問内容はその通りです。 私がログインユーザーとスキーマとの関係をよく理解していませんでした。 ユーザマッピングでユーザーとスキーマを関連付けてうまくいきました。