SQL Serverサービスは、特権の低いドメインアカウントを使用して実行します。そのアカウントはOSのローカル管理者ではありません。 SQLのインストール中にユーザーアカウントに付与するアクセスのみが割り当てられます。マウントポイントを完全に制御し、それ以外はすべてSQL Server2005/2008インストーラーによって付与されます。
SQL Server2008でODBCデータソースにリンクされたサーバーを作成する必要があります。そこで、ローカル管理者権限を持つグループの一部であるドメインアカウントを使用してコンピューターにリモート接続しました。 OS。システムDSNを作成し、別のSQL Serverに接続するように構成しました。DSNをテストすると完全に機能しますが、リンクサーバーを作成しようとすると、エラーが発生します。
DSNは、SQL Serverが実行されているドメインアカウントには表示されないようです。この問題は、Windows 2008サーバーでのみ発生しているようです。誰かがあなたに何かあるかどうか知っていますかDSNを作成した後、他のユーザーがアクセスできるようにする必要がありますか?
関連する各DBのDBOとして、ユーザーのWindowsログイン(ADを使用している場合はDOMAIN\Domain Usersのみ)をSQLに明示的に追加する必要があります。 Win2K3サーバーでは、DSNのみのSQLログインだけで十分でしたが、Win2K8では、DSNのみのSQLログインだけでは不十分です。特定の(制限された)ユーザー(私の場合は実際にはDOMAIN\Domainユーザー-すべて制限されたユーザー)のWindowsログインをSQLサーバーに追加すると、各ユーザーはDSNを使用できるようになります(独自の個別のログインでセットアップ)以前はいつもそうであったように...これはなんと主要なPITAでしたか?メモがないことを感謝します、マイクロシャフト!!!!
他のユーザーがアクセスできるようにするためにDSNを作成した後、何かする必要があるかどうか誰かが知っていますか?
私がグーグルで読んでいることから、この振る舞いはUACの結果であるように思われます。その特定のサーバーでUACを無効にすることを選択できます。
UACを無効にせずにこれを許可する方法があるかどうかはわかりません。
64ビットのDSNではなく32ビットのDSNを作成する必要がある場合は、32ビットのDSNを作成していることを確認してください。 64ビットシステムには2つのバージョンのODBCツールがあります。64ビットシステムはデフォルトで開きます。C:\ Windows\SysWOW64\odbc32ad.exeツールに手動で移動してみてください。そこでDSNを作成します。
混乱は、下位互換性を維持しようとすることの不幸な副作用です。