Windows SIDの変更はSQL Serverにどのように影響しますか?


11

Windows管理者は、Windowsサーバーを複製する方法に問題があることを確認しました。明らかに、クローンサーバーの一部は、OSレベルで同じSIDになります。Microsoftは、SIDが重複しているサーバーをサポートしていないと聞きました。したがって、これらのサーバーのSIDを変更する必要があります。

それがSQL Serverにどのように影響するか興味があります。何か案は?クラスタ化されたデータベースサーバーにどのように影響しますか?


そこの理由のboatloadsはないクローンのウィンドウにあるが、SIDはそのうちの一つではありません
ジム・B

回答:


9

SIDはそのままにします。NewSIDは、Mark Russinovichが掘り下げて「SIDの重複==悪い!」全体を見つけたため、廃止されました。過去10年以上にわたって私たち全員が頭蓋骨に叩きつけてきたラインは、単なる無意味なものです。

Markの最新のブログエントリ:The Machine SID Duplication Mythを参照してください。


6

読むまで、SIDの変更は絶対にお勧めしません。NewSIDでマシンSIDを変更すると、SQL Serverが壊れます(および修正方法)

どうやら、クローンサーバーの一部は、OSレベルで同じSIDになります。

すべてのクローンシステムが同じSIDを持っていると推測すると危険です。GhostWalkはSIDを再生成できます。最初のクローンイメージでsysprepを使用すると、将来のシステムでも同様に節約できます。

SQL Serverをインストールした場合は、SIDを変更しないでください悪いことが起こります。


SysPrepの場合は+1です。これは、このようなシナリオでサポートされているソリューションであると言えます。
マイケルスタム

1
-1(SQLがインストールされている場合、sysprepを含むsidの変更はサポートされていないことに言及しないため)。
ジムB

サーバーが実行されていて、インストールされている場合は、かなりお疲れさまでした。サーバーを複製したらすぐにSIDを変更することになっています。同じSIDを持つ2つのサーバーをドメインに参加できることに驚いています!
ニックカバディアス2009年

2

sysinternals NewSIDを使用できます:http ://technet.microsoft.com/en-us/sysinternals/bb897418.aspx

SQLでコンピューター名を変更します。

use master
sp_dropserver '<old computer name>'
GO
sp_addserver '<new computer name>', local
GO

sp_helpserver -- will show you the new computer name

次に、SQLサーバーサービスを再起動します。


SQLサーバーの手動の名前変更を指摘していただきありがとうございます。SQLクローンでは忘れられがちです(sysprepでクローンを作成します)
Precipitous

2

データベースがMicrosoft分散トランザクションコーディネーターを使用してリモートトランザクションを実行する場合、複製されたマシンにも同じMSDTC IDがあり、これはSIDではなく、NewSIDによって変更されないことに注意してください。

これはイベントビューアーに表示されます。

ローカルMS DTCは、SERVER上のMS DTCがローカルMS DTCと同じ一意のIDを持っていることを検出しました。これは、2つのMS DTCが相互に通信できないことを意味します。この問題は通常、サポートされていないクローン作成ツールを使用してシステムの1つがクローン化された場合に発生します。MS DTCでは、SYSPREPなどのサポートされている複製ツールを使用してシステムを複製する必要があります。コマンドプロンプトから「msdtc -uninstall」を実行してから「msdtc -install」を実行すると、問題が修正されます。注:「msdtc -uninstall」を実行すると、システムですべてのMS DTC構成情報が失われます。

私はそれを次のように解決します:

msdtc -uninstall

数分待ってから、

msdtc -install
sc config msdtc start= auto
sc start msdtc

1
何らかの奇妙な理由で、「sc config」には「start =」と「auto」の間にスペースが必要です。つまり、「sc config msdtc start = auto」です。
ThatGraemeGuy 09年

ありがとう-私はそこにそのスペースを持っていましたが、タイプミスだと思って投稿したときに編集しました:)
crb 2009年

2

現在Microsoftが所有しているツールNewSIDまたはsysprepを使用します。これは、すべてのファイルをコピーせずにウィンドウを再インストールするようなものです。

2台のコンピューターを同じSIDの同じドメインに参加させることはできないと思うので、サーバーをドメインに配置する必要があるため、クラスター化されたSQL Serverはチャンスにならないと思います。


1

システムを複製するためにサポートされている唯一の方法は、sysprepを使用することです。SQLサーバーを複製しない理由はたくさんあります。

-Microsoft CSSではサポートされていません。

-SQLは、「名前が変更される」まで正常に動作しません。

-レポートサービスがある場合は、同様にホースで接続されます。

-システムアカウントとネットワークサービスアカウントは新しいSIDとパスワードを取得するため、これらをサービスアカウントとして使用している場合は、いくつかの痛みがあります。

-SQL Serverは、この形式でいくつかのローカルグループを作成します。SQLServer2005MSSQLUser $$ MSSQLSERVER。これらの名前の変更はサポートされていません

状況を修正するために、私は

クラスターを破壊し、システムを再構築し、SQLをインストールし、新しいクラスターを作成し、再構築されていないサーバーでバックアップを実行してから停止し、そのバックアップを新しいクラスターに復元し、アプリケーションを新しいクラスターにポイントし、残りを再構築しますサーバーを新しいクラスターに追加します

-あるいは(おそらく簡単に)新しい名前で新しいサーバーを構築しないでください(これにより、あらゆるタイプのSIDの潜在的な問題が解決されます)。ダウンタイムがなく、バックアップ/復元の必要もありません(ただし、とにかく行うことをお勧めします)。zznode1、zznode2、およびクラスター名を使用します。zznode3を作成し、クラスターに参加させるのは、クラスター内ではノードが参照されないため簡単です。お役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.