Microsoft SQL Server, Error: 15401

man grumbling

Problem

The problem happened on new server which has Germany version of Windows 2008 R2 Standard Server. When I  install SQL 2012 Server, and try to add new login, then I got below error message.

MSSQL_Cannot_Add_New_Login

If you google with some phrase in this error message, you will see a lot of post regarding it. On this time, this article helped me.

Reason

The reason of this problem was mismatching language version of OS and SQL Server. Because I installed SQL Server English version, it try to call login name based on English environment. However, since OS use Germany as its language, so account name is different. That caused this mismatching. And the end, it will produce error 15401.

Example

Name of “Network Service” on each language version.

English : NT Authority\Network Service
Germany : NT-AUTORITÄT\NETWERKDIENST

Workaround

Workaround for this problem is to use below sql. So it automatically create new login.

CREATE LOGIN [NT-AUTORITÄT\NETWERKDIENST] FROM WINDOWS

[JP]

SQL Serverにて新規ログインを追加しようとした際に、エラーが発生してログインを追加出来ない。

Google先生にこのエラーに関して聞くと、色々教えてくれます。
今回はこちらの記事に助けて頂きました。

原因は使用しているOSの言語設定と、インストールしたSQL Serverの言語の相違による呼び出しログイン名の不一致です。

英語OSの場合、Network Serviceは通常「NT Authority\Network Service」として登録されています。ですので、英語版のSQL Management Studioにてログインを追加しようとすると、この名前が使われます。今回はOSがドイツ語版であったため、ログイン名が異なり、「NT-AUTORITÄT\NETWERKDIENST」が正式名となります。

解決策は以下の通り。ログインを追加したい場合は以下のSQLを直接叩きます。

CREATE LOGIN [NT-AUTORITÄT\NETWERKDIENST] FROM WINDOWS
広告

ダイレクトスマイル・インテグレーション・サーバーのインストール方法

Connect DSMI

今日は結構長くなるかも。
DSMI(ダイレクトスマイル・インテグレーション・サーバー)のインストールにおけるテクニカルナレッジをご紹介します。

初めに

ダイレクトスマイル・インテグレーション・サーバーは、以下のシステムが必須です。また、システム要件・環境が満たされていない場合には、ダイレクトスマイルのサポートを受けることは出来ません。

必ず、ソフトウェアのインストールより前に条件を満たす環境をご用意ください。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

特に注意!!

インストール作業は必ずパスワード保護がされた管理者アカウントにて行います。

管理者アカウントにおいても、パスワード保護のされていないアカウントでは問題が発生します。(例:Setのアップロードができない、不具合が起きるなど)

DSMIからは、事前に必ず固定IPアドレスの取得が必須です。

また、サーバー証明書の取得は絶対に欠かせない必須事項となります。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

インストール準備

インストールは以下のソフトウェアを使用して行います。

DirectSmile関連のインストーラー

  • DSMGenInstaller_4.2.0.xxx.exe
  • dsmi-4.2.0.xxx.msi

その他の必須ソフトウェア

  • Microsoft SQL Server 2008 R2

既に顧客が所有している場合は、そのSQL Serverを使用することが可能

未購入の場合、Expressという無料版を使用することが可能。その場合は以下のVerのインストーラーを使用する

(Microsoft® SQL Server® 2008 R2 SP1 – Express Edition with Tools(x64))

  • Microsoft Silverlight 4 or 5(DSMIのバージョンによる)

インストール後のチェック用実行ファイル

  • DSMIPreCheck.exe

(正常インストールのチェック:実行後に自動的にインストール、および各フォルダへの設定に間違いがないかをチェックしてくれるコマンドラインベースの実行ファイル)

データベースの上書きなど修正用実行ファイル

  • dsmobcktool.zip

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

インストール方法

1.サーバーの役割を設定する

サーバーマネージャーから役割の追加を選択し、サーバーへ以下の役割を追加する

  • Webサーバー(IIS)
  • アプリケーションサーバー

役割をサーバーへ追加したら、Windows Updateを実行しておきます。セキュリティの為、適用可能な全てのUpdateをインストールします。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

2.SQL Serverをインストール

SQL Server 2008 をインストールします。

他のSQL Serverと接続する場合には、このステップは行う必要はありません。

SQL Server 2008 R2 Express Editionをインストールした場合、初期設定ままインストールを行うと、名前付きインスタンスが適用され、サーバーインスタンス名は以下の様になります。

サーバーインスタンス名: サーバー名\SQLEXPRESS

Instance Name = SQLExpress

注意:

SQL Serverをインストールする際には、必ず初期設定のままインストールをしてください。SQL Serverのインスタンス名を変更してしまうと、後々修正するのが非常に面倒になります(データベースの上書きツールの使用、さらに複数の構成ファイルの編集が必要となります)

サービスアカウント設定

「サーバーの構成」設定では、すべてのSQL Serverサービスで同じアカウントを使用するというオプションを利用します。

NETWORK SERVICE

アカウントには「NT AUTHORITY\NETWORK SERVICE」を使用します

スタートアップの種類 自動

続いて「スタートアップの種類」の設定を両方とも「自動」に変更します。

これが手動などになっていると、サービスを起ち上げなければいけなくなります。

Windows認証モード

「データベースエンジンの構成」設定においては、認証モードに「Windows認証モード」を設定します。ただし、顧客が既にSQL Serverを所有している場合や、SQL Server認証を使用したい場合には「混合モード」を採用します。

SQLServerへアクセス

続いてインストールしたSQL Serverを確認します。サーバー名は初期設定のままで、

「.\SQLExpress」と入力します

 – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

3.Microsoft .Net Framework 4をインストール

DSMIは.Net Framework 4を使用しているので、それに対応するために事前に.
Net Framework 4をインストールしておきます。

これはWindows Updateからインストールすることが可能です。

ただし、このUpdateは自動ではなく、手動の選択式のものになります。
ご自身でWindows Updateから選択してインストールしてください。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

4.DirectSmile Generatorをインストール

オフラインと同様にDSMをインストール

※1
WindowsのUAC(User Account Control)問題により、所定のフォルダにデータがすべて作成されていない場合があります。この場合一度アンインストール後、以下のフォルダからデータコピーし、正しいディレクトリ内にデータをペーストし、再インストールを管理者権限の元で行います。

C:\Users\アカウント名\AppData\Local\VirtualStore\Program Files (x86)

※2
インストール後、フライアウトメニューにGeneratorではなく、VDP Studioと表記されていることがありますが、特に問題ありません。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

5.DSMIをインストール(DirectSmile Integration Server)

インストール実行前に以下のフォルダを手動で作成します。

  • DSMUsers(C:\DSMUsers)
  • DSMuploads(C:\DSMTemp\DSMUploads)

インストール中に複数の設定があるので初期設定で問題なければその通りに行います。

インストール・ウィザード

①     連携するSQL Serverの設定

ここでは、4つの入力欄と、1つのチェックボックスが表示されます。

SQLServer設定入力フィールド

SQL Server Instance name :

対応するSQL Serverのインスタンス名を入力します。
もし顧客が用意した別のSQL Serverに接続する場合には以下の例の様に入力します。

PC名\サーバーインスタンス名

(例:DIRECTSMILE\MSSQLSERVER)

Database name:

ダイレクトスマイル用のデータベース名を入力します。
ここは初期設定から変更はせず、かならず「dsmodb」とします。

Username / Password:

ここにユーザー名、パスワードを入力するのは、SQL認証を採用している場合に限ります。

②     SQL Serverにおけるデータベース同期設定

上記の設定の下部に表示されているチェックボックスは複数のDSMIを連携させる際にどちらのサーバーにインストールされたSQL Serverをメインのデータベースとして使用するのかという設定を行います。これは2つのDSMIを連携させる場合に必要なマスター、スレーブの設定となります。

この設定をしないと複数のDSMI間におけるデータベースの同期が出来ません。

Master or Slave?

③     サーバー証明書の登録

サーバー証明書のCN値入力ダイアログ

DSMIはMicrosoft SilverlightクライアントとWCFサービス(Webサービス)との通信をhttps通信にて行います。https通信を可能にするためにはDSMIサーバーはサーバー証明書をインストールしてある必要があります。

サーバー証明書自体はDSMIのインストール作業中に作成させる事が可能ではありますが、これはあくまでもテストインストールのためだけであり、実装にあたっては必ず正規のプロバイダーが発行した有効なサーバー証明書を用意しておく必要があります。

注意:自己署名証明書を採用した場合、ダイレクトスマイルのサポート対象外システムとなります。自己署名を採用している場合は、例えそれがイントラネットで使用されているシステムであったとしてもダイレクトスマイルは一切のサポートを行いません。必ず正規のサーバー証明書をインストール、ウェブサイトにバインドして下さい。 

Yes           :インストール作業中にサーバー証明書を作成

No             :用意したサーバー証明書を登録(推奨)

証明書用秘密キー作成ダイアログ

テストインストールの際に、サーバー証明書の作成を行った場合にはパスワードの作成を求められます。これは証明書におけるプライベートキー、パブリックキーの作成プロセスです。ただしテストインストール段階においては、このパスワードは設定なしで進めて問題ありません。また設定しても、使用するところは無いので大丈夫です(ただし、本インストールにおいては必ずサーバー証明書を取得して行うという事が前提です)


– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

6.必要な詳細設定(下位互換性保持目的の場合のみ)

以下の設定の一部はデザイナーやオペレーターなどのクライアントサイドPCで使用するDirectSmile GeneratorがVer4.2以下の場合に対する下位互換性を保持する目的の設定です。DirectSmile GeneratorのVer4.2以降ではDSMIへテンプレートをアップロードするにあたり、使用するプロトコルをFTPからHTTPへ変更しています。よって、新規インストールなどに関しては以下の設定は省略可能です。

自動インストールでは作成されないフォルダや、手動設定が必要なフォルダについて以下の操作を実行します

  1. フォルダの作成
    A) dsmuploads
    FTP機能を使用する際のローカルアップロード用フォルダ

    1. DSMUsers (C:\DSMUsers)
    2. DSMtemp (C:\DSMtemp)
    3. DirectSmile Generator (C:\Program Files (x86)\DirectSmile Generator)
    4. DSMO (C:\inetpub\wwwroot\DSMO)
    5. dsmuploads (C:\DSMTemp\dsmuploads)
  2. フォルダのセキュリティ設定の変更
    以下の5つのフォルダに対して、フォルダのセキュリティ設定から、Network Serviceアカウントに対してすべてフルコントロールを与える。※ツリー階層になる場合は、上階層のフォルダに設定すれば下階層のフォルダに自動的にセキュリティ設定が継承される。
  3. IISの設定

A)        FTPサイト(下位互換性保持の為必要な場合のみ設定)

※Generator 4.1以降はファイルのアップロードにおいてHTTPを通信プロトコルとして使用し、FTPは使用しません。ですが、古いバージョンのGeneratorに対しての下位互換性を保持する必要がある場合はDSMIサーバーにおいて、FTPサーバの設定を行います。

①       FTPサイトの追加

IISにおいて、最上位階層に位置するサーバー自体のアイコンを右クリックして、「FTPサイトの追加」を選択する

FTPサイトを追加

②       FTPサイトの設定

  1. FTPサイト名は何でもOK
  2. コンテンツパスには「dsmuploads」を選択
  3. バインド設定ではIPアドレス、接続ポートを設定(初期値のまま)
  4. 仮想ホスト名は必要なし
  5. SSL設定では「許可(O)」
  6. SSL証明書は選択せず、「未選択」のままでOK
  7. 認証および承認の設定

A)        認証欄は匿名にチェック
B)        承認欄

i.     アクセスの許可:匿名ユーザー
ii.    アクセス許可:読み取り、書き込みの両方にチェック

注意:FTPサイトの設定では、セキュリティ上の理由から、匿名ユーザーのアクセスを全て許可することが許されない場合があります。その場合はサーバーにアカウントを作成し、そのアカウントからのアクセスを許可させるように設定を変更します。
詳細はhttp://technet.microsoft.com/ja-jp/library/dd939052.aspx

B)        Default Web Site

①   サーバー証明書の確認

必要なサーバー証明書以外について削除する

(ア) 既に用意している場合は購入済みのサーバー証明書を採用する

(イ) テストインストールの場合(サーバー証明書がインストール時に自動作成されている場合)、発行者がDirectSmile Support Certification Authorityとなっているサーバー証明書を採用する

② バインドの設定(https接続時に使用するサーバー証明書の設定)

③ アプリケーションプールの確認=DefaultAppPool

※但し、仮想ディレクトリDSMImagesがDefaultWebSite直下に指定されている場合は、AppPoolが.NetFramework 4を使用している必要があります。

C)        DSMO

①   仮想ディレクトリの追加

DSMimagsという名前の仮想ディレクトリを作成します。これはDSMOで作成した画像をURLコールによって返す場合に画像へのパスとなる仮想ディレクトリになります。

実際に指定するフォルダはdsmtempを指定します。

D)       アプリケーションプールの確認=DSMO_Pool

 

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

7.設定のチェック

インストール・詳細設定が終了したら「DSMIPreCheck.exe」を使い未設定や間違いがないかをチェックします。

コマンドラインベースの実行ファイルが、特定フォルダが作成されているかどうか、またそのセキュリティ設定が正しいかどうかを自動的にチェックしてくれます。

※Ghost Scriptの実行ファイルの既定が「Ver8.64」にてチェックされるため、DSM GeneratorがVer4.2.0.675インストール環境下ではエラーを返します。このバージョンのGeneratorはGhost Script 9.02を使用します。エラーが出る場合は、DSMOの設定欄からGhost Scriptの指定バージョンを変更します。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

8.DSMOの動作チェック

インストール作業が終了したら、DSMOにログインして正常に動作するかのチェックを行います。チェックする項目の簡易版を以下に記載しますが、必ずFinalcheckを行なって下さい。全てのチェックをパスしたらインストール完了です!

  1. Setting:設定
    (ア)DSMOのURLを変更初期設定では”http://localhost/dsmo”となっているので、これを登録済みのドメイン名に変更します(イ)Image Repository URLを変更画像の表示用URLになるImage Repository URLに関しても初期設定では”http://localhost/dsmimages”となっているので、これを登録済みのドメイン名に変更します

    注意:この設定はウェブサイトのどのディレクトリに対して仮想ディレクトリを作成したかによります。
    ウェブサイトのサブディレクトリとして作成した場合が初期設定です。
    DSMOディレクトリ下に作成した場合には、”dsmo/dsmimages”と変更します
  2. Item:アイテム次にアイテムからSetのアップロードとDocumentのアップロードを確認します。

    ※1.Setのアップロードはサーバー自身のDSM Generatorを使って、Set Editorから直接アップロードすることは出来ません。DSMOをインターネットブラウザで開き、ItemページからSet、Documentをアップロードしてください。
    ※2.Documentの作成には必ず2台以上のプロダクションサーバーが稼働している必要があります。

  3. User:ユーザーUserメニューでは実際に新規アカウントの作成が出来るかどうかをチェックします。また、削除も同様に可能かチェックします。 
  4. Workflow:ワークフロー以下の流れでWorkflowの最終チェックを行います。まずはフロントエンドからWorkflowページを開きます。ここでエラーが発生する場合には、https://ドメイン名/workflow.svcと ブラウザにURLを直接入力し、Workflowサービスにアクセスしてみます。このページにてエラーが出る場合は、HTTPS接続による Workflowサービスが確立できていません。エラーが発生した場合に一番多いのは、サーバー証明書が複数存在することによる証明書の混在が原因となっ たhttpsアクセスができないという旨のエラーです。その場合には、不要なサーバー証明書を削除することで解決できます。また、何らかの原因でDSMO Backendが正常に動作していない為に発生している事がありますので、その場合はServiceからDSMO Backendを再起動させます。必要に応じてコマンドプロンプトからIISの再起動を行なってください。