VB 6アプリケーションからSQL Server 2005データベースを実行しています。ODBC DSNを介してデータベースに接続します。
SQLサーバーのデフォルトインスタンスを実行しているコンピューターの名前を「ソフトウェア」から「IT」に変更しました。次に、sp_dropserver
およびsp_addserver
ストアドプロシージャを実行して、インスタンスの名前を変更しました。
SQL Serverサービスを再起動すると、サーバーは新しいSQL Server名を取得できました。
ODBCデータソース名を新しい名前に設定した後、接続は正常でした。アプリケーションを実行し、ADOレコードセットを介してレコードを読み取ることができます。 。ただし、.Update
メソッドを使用してレコードセットを更新することはできません。代わりに次のエラーが表示されます... SQL Server not configured for data access
名前を変更したサーバーインスタンスでデータアクセスを有効にするにはどうすればよいですか?
方法:SQL Server 2005のスタンドアロンインスタンスをホストするコンピューターの名前を変更する
これを実行できるはずですが、リンクサーバーに対してnotリンクサーバーではありません。ローカルです。
EXEC sp_serveroption 'YourServer', 'DATA ACCESS', TRUE
この投稿はかなり古いものですが、おそらく誰かがそれに出くわすでしょう。このオプションについて ブログ投稿 を書きました。ローカルおよびリンクサーバーで設定できます。
少なくともここでのケースでは、両方の場所でデータアクセスを有効にする必要があるという以前の回答に追加したいと思います。
例えば:
サーバーAとサーバーBがあります
サーバーAには、サーバーAからサーバーBにリンクするリンクサーバーLBがあります
次を実行する必要があります。
-サーバーA
exec sp_serveroption 'LB', 'data access', 'true'
-サーバーB
exec sp_serveroption 'B', 'data access', 'true'
リンクサーバープロパティ>サーバーオプション>データアクセス-> trueに移動します。
SQL Server 2014で動作します。
よろしく
私はこのエラーに出くわしましたが、ローカルサーバーに対してOpenQueryを実行しようとしたことが原因であることがわかりました(doh!)。サーバー名を実際のリンクサーバーの名前に変更すると、問題が解決しました。
この使用マスターで
exec sp_serveroption 'サーバー名'、 'データアクセス'、 'true'
行く
複製用に生成されたリンクサーバーは、引き続き同じエラーを表示します