ACT データベースの問題のトラブルシューティング
Application Compatibility Toolkit (ACT) の Microsoft(R) SQL Server(R) データベースに関連する問題の解決には、次の解決策が役に立ちます。データベースを設定する方法について詳しくは、「ACT データベースの構成」をご覧ください。
SQL Server データベースへの接続
SQL Server データベースに接続しようとしたときに、次のエラー メッセージが表示されることがあります。
入力した SQL サーバーは存在しないか、アクセスに必要な資格情報がありません。
このエラー メッセージは、データベースへの接続が有効でないことを示します。このエラーを調査するには、次の操作を実行します。
接続先の SQL Server データベースが有効なデータベースであることを確認します。
データベースに対する読み取りアクセス許可と書き込みアクセス許可があることを確認します。読み取りアクセス許可と書き込みアクセス許可がない場合は、SQL Server 管理者に相談してください。詳しくは、「SQL Server データベース ロールへのメンバーの追加」をご覧ください。
データベースに対する読み取りアクセス許可と書き込みアクセス許可があるにもかかわらず接続できない場合は、SQL Server のインスタンスの設定を変更すると問題を解決できる場合があります。具体的には、TCP/IP とファイアウォールの例外を有効にします。
SQL Server のインスタンスの TCP/IP とファイアウォールの例外を有効にするには
コマンド プロンプト ウィンドウで、次のコマンドを入力して SQL Server のインスタンスを停止します。
net stop <MSSQLSERVER>
上記のコマンドで、MSSQLSERVER は、SQL Server のインスタンスの名前です。SQL Server の既定の名前は MSSQLSERVER です。Microsoft SQL Server Express の既定の名前は MSSQL$SQLEXPRESS です。
SQL Server のインスタンスの TCP/IP を有効にする:
コマンド プロンプト ウィンドウで、「
SQLServerManager.msc
」と入力します。SQL Server 構成マネージャーで、[SQL Server 2005 ネットワークの構成] を展開し、[MSSQLSERVER のプロトコル] をクリックします。
[TCP/IP] を右クリックし、[有効化] をクリックします。
SQL Server のインスタンスのファイアウォール ポートの例外を追加する:
コマンド プロンプト ウィンドウで、「
firewall.cpl
」と入力します。Windows(R) ファイアウォール ツールで、[例外] タブをクリックし、[ポートの追加] をクリックします。
TCP ポート 1433 (SQL Server) と UDP ポート 1434 (SQL Server ブラウザー) に対するファイアウォール例外を追加し、[OK] をクリックします。
注意
SQL Server ブラウザーは、リモート コンピューターから SQL Server Express データベースにアクセスできるように入力方向の SQL Server 要求を受け取るサービスです。このサービスは、既定で無効になっています。これは、ローカルでのみデータベースにアクセスできることを意味します。Application Compatibility Manager (ACM) または ACT ログ処理サービスがデータベースと同じコンピューターにインストールされていない場合は、"サービス" ツールを使って手動で SQL Server ブラウザーを開始する必要があります。
コマンド プロンプト ウィンドウで、「
net start <MSSQLSERVER>
」と入力して、SQL Server のインスタンスを起動します。ここで、MSSQLSERVER は、インスタンスの名前です。「
sc config SQLBrowser start= auto
」と入力して、SQL Server ブラウザーの構成を変更します。「
net start SQLBrowser
」と入力して、SQL Server ブラウザーを起動します。
SQL Server のバージョンの確認
ACT に対して有効でないバージョンの SQL Server データベースに接続しようとした場合、次のエラー メッセージが表示されることがあります。
接続しようとしている SQL サーバーのバージョンはサポートされていません。ヘルプ ドキュメントを参照して、サポートされるSQL サーバーのバージョンを確認してください。
このエラーを調査するには、お使いの SQL Server または SQL Server Express のバージョンが ACT でサポートされていることを確認してください。詳しくは、「ACT のソフトウェア要件」をご覧ください。
ACT データベースの作成
SQL Server のインスタンスに対するデータベースの作成アクセス許可がない場合は、ACM を使って ACT データベースを作成することができません。データベースを作成するには、必要なアクセス許可をユーザー アカウントに追加してから、ACM を使ってデータベースを作成します。または、データベースの作成を SQL Server 管理者に依頼します。
データベースの作成アクセス許可をユーザー アカウントに付与するには
SQL Server Management Studio で、[セキュリティ] フォルダーを展開します。[ログイン] を右クリックし、[新しいログイン] をクリックします。
[全般] ページで、ACT データベースの作成に使うユーザー アカウントの名前を入力します。
[サーバー ロール] をクリックします。
組織のポリシーに従って、[sysadmin] または [dbcreator] チェック ボックスをオンにします。
ACT データベースを SQL Server 管理者として作成するには
SQL Server Management Studio を使って、CreateDB.sql スクリプトを開き、SQL Server のインスタンスに対して実行します。CreateDB.sql ファイルの場所について詳しくは、「ACT データベースの構成」をご覧ください。
- または -
OSQL ツールを使い、
osql -E -S <serverName> -I CreateDB.sql
コマンドを実行します。ACM の [Settings] ダイアログ ボックスで、新しく作成したデータベースの情報を使って [Database] ボックスを更新します。
ACM で ACT データベースを使うには、データベースに対する読み取りアクセス許可と書き込みアクセス許可がユーザー アカウントに与えられている必要があります。
ACT データベースに対するアクセス許可を ACT ログ処理サービスに付与する
ACT ログ処理サービスは、ACT データベースに対する読み取りアクセスと書き込みアクセスを必要とします。
ACT データベースに対するアクセス許可を付与するには
SQL Server Management Studio で、[セキュリティ] フォルダーを展開します。[ログイン] を右クリックし、[新しいログイン] をクリックします。
[全般] ページで次の情報を入力します。
[ログイン名]。アクセス許可が必要なアカウントの名前を入力します。ACT ログ処理サービスに対してローカル システム アカウントを使っている場合は、<ドメイン>\<コンピューター名>$ アカウントを指定します。ここで、<コンピューター名> は、ACT ログ処理サービスを実行しているコンピューターの名前です。
[既定のデータベース]。ユーザー アカウントに与えるアクセス許可の対象の ACT データベースを選びます。
[ユーザー マッピング] をクリックします。
ACT データベースの横のチェック ボックスをオンにします。
[db_datareader] と [db_datawriter] のチェック ボックスをオンにし、[OK] をクリックします。
重要
ローカル システム アカウントを使ったときでも ACT ログ処理サービスの問題が解決しない場合は、Kerberos 委任のトラブルシューティングに関するページをご覧ください。