質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Q&A

1回答

1075閲覧

ODBC接続設定の「既定のデータベースを以下の内容に変更する」表示について。

nonsan

総合スコア3

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

0グッド

0クリップ

投稿2024/03/02 05:02

編集2024/03/05 00:28

実現したいこと

問題自体は解決しているのですが、理解を深めるための質問です。
SQSServerで新たに追加したDBをODBC(ドライバーSQLServer(10.00.22621.3155))設定「既定のデータベース」に表示したいです。
今後使用すべきでは無いドライバーのため、現在ODBC Driver for 17 SQL Serverに切り替え済ですが、原因が知りたいです。

発生している問題・分からないこと

SQLServer2022環境で作成したDBはODBC「SQLServer(10.00.22621.3155)」の既定のデータベースに表示されますが、SQLServer2012で作成したDBが同条件で表示されません。
これに関わるSSMSの設定があるのでしょうか。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

・ドライバーを「ODBC Driver for 17(または18)SQL Server」で設定すると表示されます。
・問題が発生しているSQLServerは表示されるDBもあります。これは既存のDBであり、新たに追加したDBのみ表示されません。

補足

問題発生サーバー環境
・WindowsServer2012R2
・SQLServer2014
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2024/03/03 06:16

> ODBC(ドライバーSQLServer(10.00.22621.3155))設定「既定のデータベース」に表示したいです。 これは、どういったツールに表示させたいと言っているのですか?
nonsan

2024/03/04 09:04

確認ありがとうございます。質問内容が不明確で申し訳ありません。 ODBC64bit起動 ⇒ 追加ボタン ⇒ ドライバーにSQLServer(10.00.22621.3155)を選択 ⇒ 名前とサーバーを設定 ⇒ ユーザーが入力するSQLServer用のログインIDとパスワードを使う を選択 ⇒ ログインIDを設定※sa接続でパスワード無しの環境 ⇒ 既定のデータベースを以下のものに変更する⇐ココ! 上記の最後のところでプルダウンリストに表示されないDBがあるため、表示が出来る様にしたいと言った内容です。
sazi

2024/03/04 11:44

「ODBCデータソースアドミニストレーター」という事ですね。 「接続するSQLServer名を入力して下さい」の箇所に対象DBサーバーは選択肢として出ていますか? 文章だけだと分かり辛いので、具体的なキャプチャー(マスキングしたもの)などを質問に張り付けて貰えればと思います。
nonsan

2024/03/05 00:30

>「ODBCデータソースアドミニストレーター」という事ですね。 ⇒はい。ODBCだけでは不明確なのですね…不明確でご迷惑をお掛けしました… >「接続するSQLServer名を入力して下さい」の箇所に対象DBサーバーは選択肢として出ていますか? ⇒表示されております。 >文章だけだと分かり辛いので、具体的なキャプチャー(マスキングしたもの)などを質問に張り付けて貰えればと思います。 ⇒teratail慣れしていなくて失念しておりました… 「既定のデータベースを以下のものに変更する」の部分の画像を追加いたしました。プルダウンリスト表示を行った際に新規作成したDBが表示されないといった内容になります。
sazi

2024/03/05 01:55 編集

WindowsServer2012R2⇒ODBCデータソースアドミニストレーター ここで、 ・SQLServer2012 ←表示される(既存DB) ・SQLServer2022 ←表示されない(新設DB) という事でしょうか? また、それぞれのDBは、「WindowsServer2012R2」とは別サーバでしょうか? > 問題自体は解決している というのは、どのように解決されたのでしょうか?
nonsan

2024/03/05 02:36

サーバーA(SQLServer2022、WindowsServer2019)、サーバーB(SQLServer2012、WindowsServer2012R2)が存在します。 サーバーAでDBを新規作成した場合、ODBCドライバーSQLServer(10.00.22621.3155)の既定のデータベースに既存と新規が全て表示されます。 しかし、サーバーBで作成したDBはODBCドライバーSQLServer(10.00.22621.3155)の既定のデータベースに表示されません。サーバーBの既存DBは表示されています。 >問題自体は解決しているというのは、どのように解決されたのでしょうか? ⇒ODBCドライバーを「ODBC Driver for 17(または18)SQL Server」に変更すればサーバーBの表示出来なかった新規DBも表示されるため接続が可能です。旧SQLServerドライバーは使用すべきでは無いため、今後はWindowsServer2012R2サポート範囲のfor17 SQL Serverを使用する方針です。以上のことから接続は確立されたので一応問題自体は解決したと記載させていただきました。 ご確認よろしくお願い申し上げます。
guest

回答1

0

ODBCドライバーを「ODBC Driver for 17(または18)SQL Server」に変更すればサーバーBの表示出来なかった新規DBも表示されるため接続が可能です。

多分ODBCドライバーの互換性の問題だと思います。
以下によると、「SQLServer2022」と「SQLServer2012」に共に接続可能なODBCドライバーのバージョンは、18.0若しくは17.10です。
システム必要条件、インストール、およびドライバー ファイル
接続できなかった時のバージョンは18.1以降だったのではないでしょうか。

投稿2024/03/05 03:30

sazi

総合スコア25426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nonsan

2024/03/05 04:06

回答ありがとうございます。 そもそもWindowsに最初から入っているODBCドライバーのSQLServer(10.00.22621.3155)が対応外で動作不安定ということなのでしょうか? サーバーBには既存DB1、DB2と新規DB3があるとして、DB1は最初から表示されており、DB2はセキュリティ⇒ログイン⇒ユーザーマッピングを設定したら表示されるようになりました。DB3にも同様にマッピング設定をしましたが表示されず…。 この辺りに何か思い当たるところはないでしょうか?
sazi

2024/03/05 05:09 編集

ドライバーを変えたら表示されたという事象から推測したんですが、それ以外にも変更した箇所があったという事なんですね。 > Windowsに最初から入っているODBCドライバーのSQLServer(10.00.22621.3155)が対応外で動作不安定ということなのでしょうか? SQLServerインストールしたサーバーのODBCデータソースアドミニストレーターの話なのですよね? SQLServerインストール時にWINDOWS標準のODBCドライバーを書き換える事は無いように思いますが、 これについては、実際のバージョンを確認してもらうしか無いですね。 発生している環境と同じものを用意する事は出来ませんので、今のところ私に思いつくところはありません。
nonsan

2024/03/13 06:52

申し訳ありません。通知を見逃しておりました。 >SQLServerインストールしたサーバーのODBCデータソースアドミニストレーターの話なのですよね? SQLServerのあるデータベースサーバー側の話ではなくてクライアント側のODBCデータソースアドミニストレーターの話です(解釈違いの回答であればすみません。)。 説明が下手で申し訳ありません。再度時系列に記載してみます。 ①サーバーB(SQLServer2012、WindowsServer2012R2)にインストールされたSQLServerに新規DBを追加。 ②クライアント側のODBCデータソースアドミニストレーターのSQLServerドライバー(最初から入っているドライバー)で設定を行う際に接続先データベース候補に新規DBが表示されない。 ③試しにクライアント側のODBCデータソースアドミニストレーターのドライバーを「ODBC Driver for 17(または18)SQL Server」に変えたら接続先データベース候補に新規DBが表示された。 ※この時点でドライバーを変えるだけで表示されることが分かった。初期ドライバーのSQLServerは使用すべきでは無いため、一応問題はここで解決。 ●原因が知りたいので以下を引き続き調査。 ④サーバーA(SQLServer2022、WindowsServer2019)で同じ状況か確認にするために別の新規DBを追加。しかし、こちらはクライアント側のODBCデータソースアドミニストレーターのSQLServerドライバー(最初から入っているドライバー)で設定を行う際に接続先データベース候補に新規DBが表示された。 ※この時点で問題はサーバーBの環境にあると考えた。 ⑤サーバーBには「表示される既存DB」「表示されない既存DB」「表示されない新規DB」の3通りが存在した。 ⑥マッピング設定を行ない状況が変わるか調査。「表示されない既存DB」はマッピング設定で表示されるようになったが、同じようにマッピング設定を行なっても「表示されない新規DB」は状況が変わらなかった。 ※マッピングの設定では無い可能性が高いと考える。 以上のことからこの内容以外の設定があるのではないかと考えている次第です。
sazi

2024/03/13 08:36 編集

ODBCデータソースアドミニストレーターは32bit/64bit の2つがあるんですが、それを間違えているという事はないですよね? ※デフォルトでは64bit
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問