1

現在、クライアント サイトの 1 つを Windows Server 2008 および SQL 2008 セットアップに移行していますが、サイトからデータベースに接続する際に大きな問題が発生しています。

SQL 2k バックアップから SQL 2008 サーバーにデータベースを復元しました。ユーザーを正しくセットアップし、管理スタジオでそのユーザーとしてログインできます。データベースにアクセスできない場合に正常に読み込まれるサイト .asp ファイルをコピーしました。しかし、データベースにアクセスしようとすると、「ユーザーのログインに失敗しました......」というエラーが表示されて失敗します。

パスワードをリセットし、新しいユーザーを作成し、接続文字列を OLEDB から SQL Native Client に変更して元に戻しましたが、エラーが発生し続けます。ダミーのデータベースとユーザーをセットアップしても、同じ問題が発生します。

これが起こっている理由を知っている人はいますか?不足している SQL または Windows の設定はありますか?

私は何時間もこれに取り組んできましたが、どんなアイデアでも本当に感謝しています。

更新:接続文字列に間違ったログインの詳細を入力すると、conn.open でエラーが発生しますが、正しいログインの詳細を入力すると、cmd.activeconnection = conn でエラーが発生します。それが役立つかどうかはわかりません。

4

5 に答える 5

1

Windows 2008 と SQL Server 2008 で同様の問題がいくつか発生しました。覚えている限りでは、これらは SQL 認証を使用して接続を有効にするために行った手順です。

  1. 管理者として SQL Server にログオンし、サーバーのプロパティを変更して混合モード認証 (SQL 認証と Windows 認証) を許可します。

  2. SQL Server サービスを再起動します

  3. SQL Server 構成マネージャーを使用して、プロトコルが有効になっていることを確認します (TCP/IP)

接続性に関して、かなりの数のファイアウォールの問題がありました。ユーザーのログオン失敗が問題の真の原因ではない場合があります。私は通常、接続をテストするために、拡張子が udl のファイルを作成します。

SQL Server にログオンするとき、Windows 認証を使用しますか?

お役に立てれば。

于 2008-11-19T11:23:45.883 に答える
0

私は同様の問題を抱えています。

これから接続文字列で変更しました:

DRIVER={SQL Server};SERVER=80.82.xxx.xxx;DATABASE=mydatabasename;UID=myusername;PWD=mypassword

これに:

Provider=SQLNCLI10.1;SERVER=80.82.xxx.xxx;DATABASE=mydatabasename;UID=myusername;PWD=mypassword

そして、それはうまくいきました。

さまざまなプロバイダー設定を試してみることができます。

于 2013-01-27T15:24:00.400 に答える
0

古典的なASP接続文字列は次のとおりです。

myConnection.ConnectionString = "Driver={SQL Server};Server=xxx.xxx.xxx.xxx,1533;Database=mydb;Uid=user123;Pwd=user123d;"
于 2010-03-06T07:26:26.193 に答える
0

データベースを新しいサーバーに復元したため、データベースに孤立したユーザーが存在する可能性があります。孤立したユーザーをサーバー ログインに再接続する必要があります。詳細については、「既存の SQL Server ログインを同じ名前の既存の SQL Server データベース ユーザーに接続する方法」を参照してください。

于 2013-01-27T23:05:15.883 に答える
0

ADOに問題があるようです。最新バージョンをインストールするか、既に最新バージョンを持っている場合はインストールを更新してみましたか?

編集: 申し訳ありませんが、Windows Server 2008 を実行していたことに気付きませんでした。そのバージョンには Windows DAC 6.0 が付属しており、私の知る限り再インストールできません。UDL ファイルは機能するので、ASP サイトのユーザー ID が DAC dll を含むフォルダーにアクセスできるようにすることしか考えられません。Sysinternals から FileMon を実行して、それらのファイルへのアクセスが拒否されたエントリを確認してみてください。

于 2008-11-19T12:13:50.090 に答える