まず、私は UNIX 派なので、この件で頭を抱えていることを述べておきます。私は VMware の仮想インフラストラクチャ システム用に SQL Server 2005 を実行している Windows 2003 サーバーを持っています。このシステムを Active Directory コントローラーにするつもりでしたが、今のところは保留することにしました。サーバーを Active Directory から降格しました (コントローラーでも Active Directory のメンバーでもなくなりました)。残念ながら、これを行うと、SQL Server サービスが起動しなくなります。
SQL Server 構成マネージャーにアクセスし、ログオンを管理者アカウントまたは組み込みアカウントのいずれかに変更しようとすると、「アカウント名とセキュリティ ID 間のマッピングは実行されませんでした」というエラーが表示されます。
Active Directory のアクセス許可とアカウント ID を考慮しないように SQL Server を修正するにはどうすればよいですか?
答え1
答え2
これを自分のボックスで再現するためのテスト インスタンスを起動していませんが、SQL Server 2005 インストールによって作成されたグループの SID を参照する 3 つのレジストリ値が以下のキーに格納されているようです。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\Setup
値は、AGTGROUP、FTSGROUP、および SQLGROUP です。これらの値を設定するために使用された SID を持つグループは次のとおりです (サーバー コンピューターの名前と SQL インスタンス名に置き換えます)。
SQLServer2005MSSQLUser$SERVER-NAME$INSTANCE-NAME
SQLServer2005MSFTEUsers$SERVER-NAME$INSTANCE-NAME
SQLServer2005SQLAgentUsers$SERVER-NAME$INSTANCE-NAME
私が見る限り (繰り返しますが、私自身は再現していません)、このサーバー用にこれらのグループを作成し、新しいグループの SID を取得してレジストリに配置する必要があります。SQL Server インストールの「修復」でこれが実行できるようです。Microsoft Connect のこの記事をご覧ください。http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=202561
その記事で「1 つ以上の SQL セキュリティ グループが何らかの理由で削除されました」というフレーズを検索し、そこに記載されている回避策を読んでください。古いグループをクリアし、修復モードでセットアップを実行すると、必要な処理が実行されるようです。私が見つけたブログ投稿やフォーラム投稿で提案されているように、手動で再作成しようとするよりも、その方法の方が信頼できます。
とはいえ、変更を始める前に、少なくともレジストリのその部分とデータベースをバックアップしてください。適切なバックアップがあれば、すべてが「問題なく機能」します... <smile>