RODC環境においてSQL Serverが起動しない場合の対処法

RODC環境において,WANが何らかの原因で切断されるなど,RWDCとの接続性がなくなった場合,SQL Serverのサービスが起動しないというケースがあります。

とりわけ,ドメインアカウントを用いている場合です。ローカルシステムアカウントで実行すれば動くわけですが,組織のポリシーでドメインアカウントをサービスアカウントとして用いている場合もあるでしょう。
続きを読む

SQL ServerでSPNが登録できないというエラーが出た場合の対処法

SQLのエラーログを確認していると,以下のようなエラーが出力されている場合があります

2018-01-01 09:00:00.00 Server      SQL Server is attempting to register a Service Principal Name (SPN) for the SQL Server service. Kerberos authentication will not be possible until a SPN is registered for the SQL Server service. This is an informational message. No user action is required.

2018-01-01 09:00:00.00 Server      The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/SQLServerName.domain ] for the SQL Server service. Windows return code: 0xffffffff, state: 43. Failure to register a SPN might cause integrated authentication to use NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies and if the SPN has not been manually registered.

2018-01-01 09:00:00.00 Server      The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/SQLServerName.domain:1433 ] for the SQL Server service. Windows return code: 0xffffffff, state: 43. Failure to register a SPN might cause integrated authentication to use NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies and if the SPN has not been manually registered.

Windows return codeの16進数は,環境によって異なるかも知れませんが,基本的には同じエラーです。

ログの内容からすると,SQL Serverの起動時にSPNを登録できなかったというエラーのようです。SPNが登録できないので,Kerberos認証が無効化されます,とも言っています。

ドメイン認証の基盤であるKerberosが有効化されていないという事になればちょっと問題です。NTLM認証だけで本当にSQL Serverは正常に動くのだろうか,と疑問に思うかもしれません。
続きを読む

SQL Server 2012のダウングレード権でSQL Server 2008 R2を利用する方法

SQL Server 2012】から、ライセンスの形態が変わりました。

2012から2008に対してダウングレード権を行使する事ができるのかどうか、疑問に思うかもしれません。


Standard Editionに関してだけ変更点を簡単にまとめますと、

SQL Server 2008 R2】では、プロセッサ数あたりに対して課金されていたものが、【SQL Server 2012】では、コア数あたりに対して課金されるようになりました。


そして、【1プロセッサ=4コア】という方法で換算されています。


ですので、【SQL Server 2012】 のライセンスで、【SQL Server 2008 R2】に対してダウングレード権を行使して使用するためには、

SQL Server 2012】の2コアライセンスを2つ購入する事によって、【SQL Server 2008 R2】を1プロセッサで利用する時と同じ権利が得られる訳です。


ちなみに、コアライセンスは、2コア単位で購入する事ができますが、最低4コア必要という条件があります。


こうして、【SQL Server 2012】 の2コアライセンスを2つ購入する事によって、【SQL Server 2008 R2】へダウングレード権を行使する事ができるようになりました。

ServerライセンスとCALライセンスを組み合わせて利用する形態の場合は、この限りではありませんので下記のMicrosoftの情報をご参考になさって下さい。

【参考】
http://www.microsoft.com/ja-jp/sqlserver/2012/howtobuy/default.aspx(別ウィンドウで開きます)

[SQL Server]Invoke or BeginInvoke cannot be called on a control until the window handle has been created.

SQL_Server_2008_R2において、インストールを行なおうとすると、下記のエラーが出て、インストールできない場合があります。

SQL Server Setup has encountered the following error:
Invoke or BeginInvoke cannot be called on a control until the window handle has been created.


意外な解決策が、MicrosoftのTechNetに記されていました。

簡単に言うと、「エラーでインストールできなくても、もう一度Setup.exeを試してみれば、成功するかもしれません。3回ぐらいやったらインストールできたという人もいます。」



Error message
Invoke or BeginInvoke cannot be called on a control until the window handle has been created.

Cause
This issue is happening because of a behavior change in .NET that is exposing an issue with SQL Setup User Interface (UI). The issue will be addressed in the final release of SQL Server 2008 R2.

Resolution
Typically, if you try to run setup again, you will not see the error. Some people have reported needing to try to run setup three times before the error does not appear.


SQL Server 2008 installation error: Invoke or BeginInvoke cannot be called on a control until the window handle has been created.


こうして「Invoke or BeginInvoke cannot be called on a control until the window handle has been created.」というエラーが出てSQL_Server_2008をインストールできない問題を解消する事ができました。