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
広告

Microsoft SQL Serverが動かない・・・

今日は朝から悩んだSQL Serverのエラーについて備忘録として投稿します。

エラーは以下の通り。(ちょっとだけ改変してます)

The log scan number passed to log scan in database ‘master’ is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup.

ごく簡単に言うと、SQL ServerがWindows Serviceで起動しない。

色々ググってみましたが今ひとつ正解に当たらない・・・
もうSQL Server毎再インストールしちゃおうかなぁなんて思ってたのですが、そこはまぁやっぱり・・・と言うことでまたGoogle先生に再度聞き直し(笑)

最終的にはこの記事に助けられました。先人の知恵は偉大です。ありがとーございます。
http://mywindowsblog.com/?p=638

SQL Serverのインストールディレクトリを圧縮したりすると発生するエラーとの事ですが、いまいち原因は分からず。
そして、ここからがかなり厄介だったのですが、やっとSQL Serverが動いたと思ったらSQL Management Studioからローカルのデータベースにログイン出来ない・・・・(汗)どうやらAdministratorでログインしているのに何故がこのアカウントがロックアウトされている様子。

ここで思い出したのがSupportチームのボス・Oliverさんが教えてくれたロックアウトされた場合のTips。
Single User Modeでアクセスしてなんとかログイン設定を修正。やっとログイン出来たと思ったら、今度はデータベースが全滅・・・仕方ないので.mdfからアタッチして復元。そしたら今度はアタッチ出来ないデータベースが出現。こればかりはどうしようもないなぁと思いつつ悪戦苦闘。結局Dataフォルダから該当する.mdfと.ldfを一旦移動させて、手動で同名のデータベースを作成しました。あとはボスの作ったツールでデータベースをアップデートさせて万事完了!これが出来るデータベースで良かったです。

最後にDSMIを最新版にアップデートしてFinalcheckをして元通り。
あぁ、やっぱりこれはMSのサポートに頼む話であってDSMのサポート案件では無いような気もするんですが。

結論:データベースを使うアプリケーションは必ずバックアップの設定をして、定期的にフルバックアップを取りましょう。ついつい忘れがちですが、これが一番重要ですね。