2014年12月18日木曜日

ファイルまたはアセンブリ 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

下記の4つのモジュールを追加にインストールして対応した。


2012SharedManagementObjects_x86
2012SharedManagementObjects_x64

2012SQLSysClrTypes_x64
2012SQLSysClrTypes_x86




参考
ダウンロードページについて
http://www.experts-exchange.com/Database/MS-SQL-Server/Q_28458757.html

ダウンロードモジュールについて
http://www.advancesharp.com/blog/1113/could-not-load-file-or-assembly-microsoft-sqlserver-management-sdk-sfc


2014年12月10日水曜日

Disposeのテストについて


▼Controllernのコード

protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
Debug.WriteLine("Dispose disposing=" + disposing);
base.Dispose(disposing);
}

▼単体テストのコード

[TestMethod]
public void Dispose()
{
ApiBeginController controller = new ApiBeginController();

controller.Dispose();

System.GC.WaitForPendingFinalizers();

}

⇒これでコードカバレッジが100%となりました。


Assert.AreEqualでプリミティブ型の配列のチェックが出来ない??あれ?

Assert.AreEqual に失敗しました。<System.String[]> が必要ですが、<System.String[]> が指定されました。

▼エラー
Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException はユーザー コードによってハンドルされませんでした。
  HResult=-2146233088
  Message=Assert.AreEqual に失敗しました。<System.String[]> が必要ですが、<System.String[]> が指定されました。
  Source=Microsoft.VisualStudio.QualityTools.UnitTestFramework
  StackTrace:
       場所 Microsoft.VisualStudio.TestTools.UnitTesting.Assert.HandleFail(String assertionName, String message, Object[] parameters)
       場所 Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual[T](T expected, T actual, String message, Object[] parameters)
       場所 Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual[T](T expected, T actual)
       場所 WebApplication.Tests.Controllers.ApiBeginControllerTest.GET() 場所 d:\dev\sample\20141119_WebMVC\20141128_WebApplication\WebApplication.Tests\Controllers\ApiBeginControllerTest.cs:行 33
  InnerException:

▼使用しているコード

Web API(ApiControllerのメソッド)

// GET api/ApiBegin
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}

テストクラス

[TestMethod]
public void GET()
{
//List<string> expected = new List<string> { "value1", "value2" };
//var expected = new String[] { "value1","value2"};

IEnumerable<string> expected = new String[] { "value1", "value2" };

ApiBeginController controller = new ApiBeginController();

//string[] ret = controller.Get() as string[];
IEnumerable<string> ret = controller.Get() as IEnumerable<string>;

Assert.AreEqual(expected, ret);

//Assert.AreEqual(expected, new string[] { "value1", "value2" });



//Assert.AreEqual(expected, expected); //成功
//Assert.AreEqual(ret, ret); //成功
}


⇒CollectionAssertがあるのですね。。。。

[TestMethod]
public void GET()
{
var expected = new String[] { "value1","value2"};

ApiBeginController controller = new ApiBeginController();

string[] ret = controller.Get() as string[];

CollectionAssert.AreEqual(expected, ret);

}

エラー 6 アセンブリ 'WebApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' は、参照されているアセンブリ 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' よりも新しいバージョンを含む 'System.Web.Http, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' を使用します d:\dev\sample\20141119_WebMVC\20141128_WebApplication\WebApplication\bin\WebApplication.dll WebApplication.Tests

WebアプリのSystem.Web.Httpが5.2.2.0
単体テストプロジェクトのSystem.Web.Httpが4.0.0.0
で困っている

web.application
D:\dev\sample\20141119_WebMVC\20141128_WebApplication\packages\Microsoft.AspNet.WebApi.Core.5.2.2\lib\net45\System.Web.Http.dll

web.test
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.dll

ということで、テストアプリの参照設定にweb.applicationが追加しているdllを追加して対応しました。

これでテストがすんなりと実行できました。

本来は、web.applicationと同じやり方でSyste.Web.Httpのバージョンを上げる必要があるとは思うのですが、どうやったんだろう??


2014年12月9日火曜日

ブラックボックスな処理の解析について

.net frameworkのアプリケーションであれば、逆コンパイルしてロジックをおえますが、ネイティブであれば、プロセスモニタを使用します。




using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

//存在するレジストリキー
キー検索(@"SOFTWARE\Microsoft\.NETFramework");

//存在しないレジストリキー
キー検索(@"SOFTWARE\Microsoft\.NETFrameworkHogeHoge");

//存在しないファイル
ファイルアクセス(@"o:\readme.txt");

//存在しないファイル
ファイルアクセス(@"o:\hogehoge.txt");
}

private static void ファイルアクセス(string fileName)
{
try
{
Debug.WriteLine(File.ReadAllText(fileName));

}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
//throw;
}
}

private void キー検索(string p)
{
// 操作するレジストリ・キーの名前
string rKeyName = p;
// 取得処理を行う対象となるレジストリの値の名前
string rGetValueName = "InstallRoot";

// レジストリの取得
try
{
// レジストリ・キーのパスを指定してレジストリを開く
RegistryKey rKey = Registry.LocalMachine.OpenSubKey(rKeyName);

// レジストリの値を取得
string location = (string)rKey.GetValue(rGetValueName);

// 開いたレジストリ・キーを閉じる
rKey.Close();

// コンソールに取得したレジストリの値を表示
Console.WriteLine(location);
}
catch (NullReferenceException)
{
// レジストリ・キーまたは値が存在しない
Console.WriteLine("レジストリ[" + rKeyName
  + "]の[" + rGetValueName + "]がありません!");
}
}
}
}

mbbservice.exeがレジストリを頻繁にアクセスする

e-mobileを繋げた時に入ったサービスのようです。
サービスを削除しました。


削除方法
C:\ProgramData\MobileBrServ\Uninstall.exe

を実行して対応した。

2014年12月4日木曜日

ASP.NET Identity パスワード制限の変更について


制限がきついのでパスワードのルールを変更しました。
ところで、6桁未満が入力できない。

manager.PasswordValidator = new PasswordValidator
{
//ここは0しても6文字以上を求められるし、1にしても6文字以上が求められる
//TODO:バグでは?
RequiredLength = 1,


RequireNonLetterOrDigit = false,
RequireDigit = false,
RequireLowercase = false,
RequireUppercase = false,
};


調べたらModelが制約を持っていました。
ここを修正して1桁もOKとなりました。

    public class RegisterViewModel
    {
        [Required]
        [EmailAddress]
        [Display(Name = "電子メール")]
        public string Email { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "{0} の長さは {2} 文字以上である必要があります。", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "パスワード")]
        public string Password { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "パスワードの確認入力")]
        [Compare("Password", ErrorMessage = "パスワードと確認のパスワードが一致しません。")]
        public string ConfirmPassword { get; set; }
    }

    public class ResetPasswordViewModel
    {
        [Required]
        [EmailAddress]
        [Display(Name = "電子メール")]
        public string Email { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "{0} の長さは {2} 文字以上である必要があります。", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "パスワード")]
        public string Password { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "パスワードの確認入力")]
        [Compare("Password", ErrorMessage = "パスワードと確認のパスワードが一致しません。")]
        public string ConfirmPassword { get; set; }

        public string Code { get; set; }
    }


2014年6月25日水曜日

クレジットカード 見覚えのない請求について

「リユツウセンターニシ」なるところから、見覚えないの請求1600円が届いた。
はて?

2014年5月24日土曜日

Galaxy S2(docomo SC-02C)のパケ詰まり対応

モデル番号  SC-02C
Androidバージョン 4.0.3
ベースバンドバージョン  SC02COMMP7

経緯
パケ詰まりが酷くで新しい携帯を買いに行ったのだが今の携帯のセンスが今ひとつなので、買うのを断念した。

希望する携帯のパッケージング

                 希望                         GalaxyS2
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
液晶サイズ  4.3~4.7                     4.3
画面サイズ  HD(1280×720)           ワイドVGA(480×800)
重さ           130g未満                    120g
電池の持ち よる充電するから日中に切れない
                 ⇒連続待受と連続通話とかいいから電池が無くならなければいい。
通信速度    100Mbps                     14Mbps
処理速度    GalaxyS2でも満足レベル


パケ詰まりの対応方法を見つけたの記載する

対応方法は、

「ホーム」⇒「プロパティボタン」⇒「設定」⇒「その他」⇒「モバイルネットワーク」⇒「ネットワークモード」⇒「3Gのみ」に変えると治ります。

※補足
  「データローミング」は、無し
  「APN」は、spモード
  にします。

テストは、通信環境の悪い環境を、5段階レベルで作成してテストを実施して、通信ができない状況からのレベル移動を行ってもパケットの詰まりが発生しないことを確認しました。

以上



2014年3月14日金曜日

Windows8.1+VMWare10.0.1でMAC OSを動かす

前のVMWareでマックを動かすという自分の記事を見てWindows 8.1+VMWare Workstation10.0.1上でMACを動かしました。

ハマったのは、Unlockerのinstallを管理者権限で動かすというのが抜けており、サービスの停止ができずにインストールに失敗してMACがVMWareで起動しなかったという問題にあたったことです。

管理者権限で実行し、うまく動作しました。



2014年3月10日月曜日

Visual Studio 2013 SP1とSignalRでHTTPエラー 404 Not Foundが発生する。

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22%2Fsystem%2Fchat%22%7D%5D&clientProtocol=1.3&_=1394427546642
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22%2Fsystem%2Fchat2%22%7D%5D&clientProtocol=1.3&_=1394427546643
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.

IIS Expressは問題なく動作するが、Windows 8+IIS8.5の環境ではこのエラーが発生し、動作しない。

対応は、、、、完全にハマっている。

Orchis Version3をVersion13へ移行する方法 エラー「orchis この設定ファイルは形式が古いため使用できません。」の対応

Win7の時は、バージョン3.09を使っていました。
Win8.1にしたので、バージョンを最新の13.1208にしたのですが、設定を移行できずに困っています。
・設定の移行
・再インストール
のいずれを実施しても
「orchis この設定ファイルは形式が古いため使用できません。」
が発生して設定を復元できません。
なにかやりかたはあるのでしょうか?

⇒対応方法は自己解決しました。

旧版でエクスポートし、新版でエクスポートして旧版の一節を新版に組み込み
インポートを行います。

一節とは、

[Launchers\1\Menu\0]

から下を全て移行元で置き換えるとうまくインポートできます。

Windows 8:Windows キーを使った画面キャプチャのショートカットで、「GDI+ で汎用エラーが発生しました。」が発生する


System.Runtime.InteropServices.ExternalException はハンドルされませんでした。
  Message=GDI+ で汎用エラーが発生しました。
  Source=System.Drawing
  ErrorCode=-2147467259
  StackTrace:
       場所 System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
       場所 Capture.Program.Main(String[] args) 場所 D:\Capture\Program.cs:行 178
       場所 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       場所 System.Threading.ThreadHelper.ThreadStart()
  InnerException:

⇒原因はなんてことない、save時の書き込み権限が不足していた。
 Windows7から8へ持ってきたので、8用に権限をいじって対応した。

2014年3月4日火曜日

CentreWare EasyOperator:エラー「018-505」

苦労した点
 前のPCがネットワーク上に仮想化して残していたため、送り先がかぶっていしまい
 エラー「018-505」が発生していた。
ちょっと、ヨミが冴えなかったせいか、時間がかかった。

2014年2月28日金曜日

OneDriveのページが酷い異なっている

こんなページが表示されるんだけど、、、、






OneDrive100GBが欲しいなぁ


2014年2月27日木曜日

Visual Studio 2013+TypeScript+LESS+PhoneGap(cordova):LESS file does not load (404)

LESSを使って開発を始めたら、
エラー:LESS file does not load (404)
が発生して困った。

ちょっとあきらめ気味だったけど、ぐぐったら分かりました。

対応は、web.configに下記のMINEを追加してクライアントにダウロードできるようにした。
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".less" mimeType="text/css" />
    </staticContent >
  </system.webServer>

以上

2014年2月26日水曜日

Visual Studio 2013+PhoneGap+TypeScript+SignalR(Web&Nativeアプリ):SignalRのアプリを作った時のエラー対処について

SignalRを使うサイトを作ってみた。
そのときに発生したエラーと対策をまとめる。

1)コードのエラー
エラー 2 'System.Web.Routing.SignalRRouteExtensions.MapHubs(System.Web.Routing.RouteCollection)' は古い形式です:
'Use IAppBuilder.MapSignalR in an Owin Startup class. See http://go.microsoft.com/fwlink/?LinkId=320578 for more details.' O:\20140225_vs2013_signalR\WebApplicationSignalRSample\WebApplicationSignalRSample\Global.asax.cs 16 4 WebApplicationSignalRSample

http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/upgrading-signalr-1x-projects-to-20

修正して、Global.asaxからStartupクラスへSignalRの登録を変更


2)コンパイルのエラー
型 'System.IO.FileLoadException' の例外が Microsoft.AspNet.SignalR.Core.dll で発生しましたが、ユーザー コード内ではハンドルされませんでした
追加情報:ファイルまたはアセンブリ 'Microsoft.Owin, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)

NuGetパッケージマネージャで、SingnalRとjQueryのアップデイトを実施

最後にエラーが出たので、htmlのscriptタグのsrc属性のバージョンを変えて対応完了し、ビルドが通った。
(nodejsのsocket.ioと比べるとかなり楽でフイタI


3)開発環境のIIS Express 8.0は順調に動いた。
そして、テストは、Android、iOS、Windowsで実施しようとサーバに発行してみたら、動作しない。
ブラウザのエラーは
Failed to load resource: the server responded with a status of 404 (Not Found) http://hogehoge.com/negotiate?connectionData=%5B%7B%22name%22%3A%22echo%22%7D%5D&clientProtocol=1.3&_=1393377622430
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.

が出ており、どうやらIIS 7.5では、WebSocketが動作しないようだ。
で、はまったしまい、諦めた。下記の対策を入れても動かない、、、、
http://blogs.msdn.com/b/timlee/archive/2013/03/21/hosting-a-signalr-application-on-windows-2008r2-and-iis-7-5.aspx#config
http://www.asp.net/signalr/overview/signalr-20/troubleshooting-and-debugging/troubleshooting

2014年2月22日土曜日

Visual Studio 2013でSPA(Single Page Application)開発(Type Script)

backbone+HTML5+CSS+JavaScriptでそれなりの規模の開発をしたことが有るのですが、そのときにJavaScriptに少しだけ苦しめられました。

もっと、楽が出来ないかとTypeScriptを使ってみた。
開発ツールは、Visual Studio 2013

環境作成
1)TypeScript for Visual Studio 2012 and 2013 のインストール
http://www.microsoft.com/en-us/download/confirmation.aspx?id=34790

2)「tag:typescript」でNuGetパッケージマネージャで検索する
そうすると懐かしいJavaScriptのライブラリ、フレームワーク群が出てくる

ここで規模や特性に合わせて定義ファイルをチョイスして環境を作成する。



Windows Server 2008R2 指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。が出てCD-ROMからインストールができない。

下記のエラーが発生してどうしてもCD-ROMからインストールが出来ない。

[Window Title]
F:\
[Content]
指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。
[OK]


・ローカルセキュリティポリシー
・CD-ROMサービスのレジストリ
・パス
などなどをいろいろと見てみましたが、どうしても原因がわからない。
ググってもわからない。
結果、daemon toolsをインストールしてisoイメージを使ってそこからインストールしました。

未だに原因は不明です。

Visual Studio 2013+TypeScript:エラー 1 "tsc.exe" はコード 1 を伴って終了しました。が発生するが原因がどこにもない。

JavaScript用のLinqを追加したとあとにVisual Studioを再起動しなかったことが原因でした。

Visual Studioを再起動するとlinq.TypeScript.DefinitelyTypedでエラーが発生していた。

原因の元がわかったので、このパッケージを削除してビルドを通しました。

エラー詳細が出てこなくてビビりました。

2014年2月20日木曜日

Windowsでmacで作成したUSBメモリを初期化する方法

Windowsでmacで作成したUSBメモリをフォーマットしたときの操作メモ


Welcome to kiyo7447 Command Processor [Version 1.0.2]
(C) Copyright 1997-2014
15:07:05.49>diskpart
Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: DRIFTER
DISKPART> list disk
  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン           894 GB      0 B
  ディスク 1    オンライン           465 GB  1024 KB
  ディスク 2    オンライン            14 GB    14 GB        *
DISKPART> select disk 2
ディスク 2 が選択されました。
DISKPART> list partition
  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               200 MB    20 KB
DISKPART> select partition 1
パーティション 1 が選択されました。
DISKPART> delete partition
仮想ディスク サービス エラー:
force protected パラメーターを設定しないと、保護されたパーティションは削除できま
せん。
DISKPART> help delete partition
    フォーカスされているパーティションを削除します。
構文:  DELETE PARTITION [NOERR] [OVERRIDE]
    NOERR       スクリプト専用です。エラーが発生しても、DiskPart は
                エラーが発生しなかったかのようにコマンドの処理を続けます。
                NOERR パラメーターがない場合は、DiskPart はエラー コードを
                生成して終了します。
    OVERRIDE    DiskPart で、種類に関係なく任意のパーティションを削除
                できます。通常、DiskPart では、既知のデータ パーティション
                の削除のみを許可します。
    システム パーティション、ブート パーティション、あるいはアクティブな
    ページング ファイルまたはクラッシュ ダンプ (メモリ ダンプ) ファイルを含む
    パーティションは、削除できません。
    この操作を完了するには、パーティションを選択する必要があります。
    パーティションは、ダイナミック ディスクから削除することも、ダイナミック
    ディスク上に作成することもできません。
例:
    DELETE PARTITION
DISKPART> delete partition override
DiskPart は選択されたパーティションを正常に削除しました。
DISKPART>

mysql エラー:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

ストアドを登録したらこのエラーが出てハマった。
なんてことはないデリミタの設定が誤っていたのだ。
下記のようにして回避
--mysql
delimiter //
CREATE PROCEDURE test()
BEGIN
DECLARE a INT;
DECLARE i,b INT DEFAULT 1;
WHILE i <= 10000000 DO
 IF i % 10000 = 0 THEN
  SET b = i;
 END IF;
 INSERT INTO t1(b) VALUES(b);
 SET i = i + 1;
END WHILE;
END//
delimiter ;
call test();

2014年2月3日月曜日

SQL Server 1000万件のデータ追加

SQL Server 1000万件のデータを追加するサンプル


USE kiyo
CREATE TABLE t1
 ( a int IDENTITY(1, 1) PRIMARY KEY
 , b int
 , c char(200) DEFAULT 'dummy1'
 , d char(200) DEFAULT 'dummy2' )
--↓の処理は32分かかります。1000万件INSERTは32分・・・遅くない?
SET NOCOUNT ON
DECLARE @i int = 1, @b int = 1
WHILE @i <= 10000000
 BEGIN
 IF @i % 10000 = 0 SET @b = @i
 INSERT INTO t1(b) VALUES(@b)
 SET @i += 1
 END
SET NOCOUNT OFF
--Cool!
SET STATISTICS TIME ON
--Cool!
SET STATISTICS IO ON
--1秒で終わる
SELECT b, MAX(a) FROM t1(nolock)
 GROUP BY b
/*
SQL Server の構文解析とコンパイルの時間:
 CPU 時間 = 0 ミリ秒、経過時間 = 0 ミリ秒。
(1001 行処理されました)
テーブル 'Worktable'。スキャン回数 0、論理読み取り数 0、物理読み取り数 0、先行読み取り数 0、LOB 論理読み取り数 0、LOB 物理読み取り数 0、LOB 先行読み取り数 0。
テーブル 't1'。スキャン回数 5、論理読み取り数 528279、物理読み取り数 0、先行読み取り数 0、LOB 論理読み取り数 0、LOB 物理読み取り数 0、LOB 先行読み取り数 0。
 SQL Server 実行時間: CPU 時間 = 4694 ミリ秒、経過時間 = 1285 ミリ秒。
*/

-- 上位 10万件を確認
--SELECT TOP 100000 * FROM t1 (nolock)

begin tran
--1000万件の更新は1分39秒と遅い
update t1 set c = 'hogehoge', d = 'uriuri'
/*
SQL Server の構文解析とコンパイルの時間:
 CPU 時間 = 0 ミリ秒、経過時間 = 2 ミリ秒。
SQL Server の構文解析とコンパイルの時間:
 CPU 時間 = 0 ミリ秒、経過時間 = 0 ミリ秒。
 SQL Server 実行時間: CPU 時間 = 13744 ミリ秒、経過時間 = 99520 ミリ秒。
(10000000 行処理されました)
*/
SELECT TOP 100000 * FROM t1 (nolock)
--1000万件の更新をロールバックする時間は、
rollback tran


2014年2月1日土曜日

Windows エクスペリエンスインデックスが低いので、ソフトウェアチューニングでパフォマンスを上げてみる。

対象ハード
ThinkPad T420s(改)
 ・ハードディスクは、
  crucial CT960M500SSD1.PK01 960GB(二代目)
  (初代は、Intel® SSD 320 Series の300GBでした。)
  と
  Hitachi HT725050A9A364  7200rpm500GB
 ・メモリは、16GBへ増設済み
  (保証は8GBまでですが、チップセットの仕様より16GBへ換装)

まずはチューニング前

 
プロセッサ:7.1
メモリ:7.5
グラフィックス:5.9
ゲーム用グラフィックス:6.3
プライマリハードディスク:7.8
合計:34.5

・・・・低い
メモリもHDDも上げたのに、、、、
ディスク関連のチューニング
 ⇒色々と実施
  ⇒結果:7.8が7.9へ、、、但し他が遅い
 
グラフィックスとゲーム用グラフィックスのチューニング
⇒最新のドライバを入れて
  ⇒パラメータチューニング
 
ああぁ、なぜかCPUとメモリが遅い
⇒CPUとメモリへの電力量を調整
   ⇒やっと元に戻った
 
 
プロセッサ:7.1
メモリ:7.5
グラフィックス:6.3
ゲーム用グラフィックス:6.3
プライマリハードディスク:7.9
合計:35.1
⇒1時間かけて0.6のアップとは、、、
結論:ThinkPadT420sでは、第二世代のCPUやグラフィックスが弱いので、パソコンを買え買えたほうが安いですね。

補足
↓次の次の世代のThinkPadT440sと比較すると、、、MEMORYが負けている、、、
http://thehikaku.net/pc/lenovo/ThinkPad-T440s.html#game
 ⇒ぐぬぬぬ
   ⇒メモリを0.1稼ぐ方法を次回はチューニングしたいと考えている。





 



2014年1月31日金曜日

オブジェクトは 'RedirectToLocalizedBand'プロパティまたはメソッドをサポートしていません。が発生してIEが使えない場合

エラー内容
このページでスクリプトエラーが発生しました。
ライン : 15
文字 : 2
エラー : オブジェクトは 'RedirectToLocalizedBand'プロパティまたはメソッドをサポートしていません。
コード : 0
URL: file:///XXX/Microsoft%/20Office/Office12/INTLBAND.HTM

のエラーの対処方法は、
IEが固まってそれどころじゃないんだろうけど、IEを起動したと同時にアドオン管理を起動してアドオンを全て無効にするとIEが使えるようになります。

VMWare FusionでRetina Displayの対応方法について

仮想マシン⇒設定⇒ディスプレイ

「Retinaディスプレイのフル解像度を使用します。」
にチェックをつけるだけ
 
これで、Linux系もWindows系もRetinaディスプレイで表示が出来ました。
 
ただし、Windowsはフォントサイズが勝手に大になるようです。。。。
 

2014年1月30日木曜日

有効な認証スキームは、ダイジェスト、ネゴシエート、NTLM、基本、または匿名です。単一の認証スキームのみが使用されるように IIS の設定を変更してください。の対処方法

OSのイベントのエラー内容:
WebHost で要求の処理に失敗しました。
 送信者の情報: System.ServiceModel.ServiceHostingEnvironment+HostingManager/63835064
 例外: System.ServiceModel.ServiceActivationException: コンパイル中に例外が発生したためサービス '/HOGEHOGE/HogeService' をアクティブにできません。例外メッセージ: IIS によって認証スキーム 'IntegratedWindowsAuthentication, Anonymous' が指定されましたが、バインドで指定できる認証スキームは 1 つだけです。有効な認証スキームは、ダイジェスト、ネゴシエート、NTLM、基本、または匿名です。単一の認証スキームのみが使用されるように IIS の設定を変更してください。。 ---> System.InvalidOperationException: IIS によって認証スキーム 'IntegratedWindowsAuthentication, Anonymous' が指定されましたが、バインドで指定できる認証スキームは 1 つだけです。有効な認証スキームは、ダイジェスト、ネゴシエート、NTLM、基本、または匿名です。単一の認証スキームのみが使用されるように IIS の設定を変更してください。
   場所 System.ServiceModel.Web.WebServiceHost.SetBindingCredentialBasedOnHostedEnvironment(ServiceEndpoint serviceEndpoint, AuthenticationSchemes supportedSchemes)
   場所 System.ServiceModel.Web.WebServiceHost.AddAutomaticWebHttpBindingEndpoints(ServiceHost host, IDictionary`2 implementedContracts, String multipleContractsErrorMessage, String standardEndpointKind)
   場所 System.ServiceModel.Web.WebServiceHost.OnOpening()
   場所 System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   --- 内部例外スタック トレースの終わり ---
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   場所 System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
 プロセス名: w3wp
 プロセス ID: 3716

Webサーバー
 >セキュリティ
  >基本認証
  >Windows認証
を有効にして、仮想サイドのセキュリティから、これらを無効にする必要がある。

2014年1月28日火曜日

物理サーバをAzureへアップしたら、パイプラインは既に実行中のため、パイプラインは実行されませんでした。複数のパイプラインは同時に実行できません。のエラーが発生

PS C:\> Add-AzureVhd -Destination "http://hogehogedata.blob.core.windows.net/vhds/hogehogedata.vhd" -LocalFilePath E:\Server\Azurehogehoge\SERVER_C.vhd
MD5 hash is being calculated for the file  E:\Server\Azurehogehoge\SERVER_C.vhd.
MD5 hash calculation is completed.
Elapsed time for the operation: 00:10:01
Creating new page blob of size 53687091712...
Add-AzureVhd : パイプラインは既に実行中のため、パイプラインは実行されませんでした。複数のパイプラインは同時に実行できません。
発生場所 行:1 文字:1
+ Add-AzureVhd -Destination "http://hogehogedata.blob.core.windows.net/vhds/hogehogedata.v ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Add-AzureVhd]、PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.WindowsAzure.Commands.ServiceManagement.StorageServices.AddAz
   ureVhdCommand


どうやら他のVHDをAzureへアップしている作業とぶつかったようだ。
処理をシリアライズしてアップロードする必要がある。

2014年1月25日土曜日

VMWare workstation 8.0.6にMac OS X Mavericksをインストールする方法(5)

106日本語キーボードへの変更

https://pqrs.org/index.html.ja

このツールを使う

設定は、「Use US Keyboard as Japanese Keyboard」をONにする。

あと、あたしは、MACの日本語キーボードに合わせてprivate.xmlを用意して、キーを修正した。

<?xml version="1.0"?>
<root>
  <item>
    <name>Windows VMWareで使うための設定(CommandとOptionの入れ替え)</name>
    <identifier>private.swap_command_l_and_option_l</identifier>
    <autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
    <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>
  </item>
  <item>
    <name>Windows VMWareで使うための設定(CntrolとCapsLockの入れ替え)</name>
    <identifier>private.swap_control_l_and_capslock</identifier>
    <autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::CAPSLOCK</autogen>
    <autogen>__KeyToKey__ KeyCode::CAPSLOCK, KeyCode::CONTROL_L</autogen>
  </item>
</root>

あとは、チャタリングが遅かったので、83mmを15mmへ修正しました。

2014年1月24日金曜日

MAC OS X 1.0.9上のVMWare Fusion 6.0.2で、「vmxファイルが壊れています」が発生した。

MACでVMware Server 1.0.10のWindows XPを持ってこようとしたら、このエラーが出てハマりました。


調べてみたら、仮想イメージは互換性があるということで、仮想イメージをファイルコピーすることで、MAC上のVMWare Fusionで起動出来ました。

私は、物理マシンをMAC OSへ持ってきた経験を活かして、物理マシンと同じようにVMWareから提供されているMigrationツールを使って作業していたのがいけなかったようです。

sql server viewのアクセス権限付与 メッセージ 916、レベル 14、状態 1、サーバー hogehoge、行 1

SQL Server 2012/2008R2
2> select top 10 hoge from viewdept;
3> go
メッセージ 916、レベル 14、状態 1、サーバー hogehoge、行 1
現在のセキュリティ コンテキストでは、サーバー プリンシパル "testuser" はデータベース "MST" にアクセスできません。

とのエラーが発生した。
viewはその先の参照テーブルのテーブルにも権限が必要。

1)ロールを使った場合のやり方


create database viewdb;
go
create login viewlogin with password = 'test',check_expiration=off,check_policy=on,default_database=viewdb;
go
use viewdb;
go
create user viewuser for login viewlogin;
go
use mst
create user viewuser for login viewlogin;
--create schema viewSchema authorization viewuser;
--create view viewSchema.viewDept as (select *, 1 hoge, 2 hogehoge from mst.dbo.department);
use viewdb;
go
--drop view viewLine;
create view viewLine as (select l.lineCd, l.deptCD, l.name, 1 hoge, 2 hogehoge from mst.dbo.Line l);
go

use viewdb;
--alter role viewRole drop member viewuser;
--drop role viewRole;
create role viewRole authorization dbo;
alter role viewRole add member viewuser;
grant select on object::viewLine to viewRole;
use mst;
--alter role viewRole drop member viewuser;
--drop role viewRole ;
create role viewRole authorization dbo;
alter role viewRole add member viewuser;
--revoke select on object::Line to viewRole;
grant select on object::Line(lineCd, deptCD, name) to viewRole;



2)ロールをつかわない場合のやり方


create database viewdb;
go
create login viewlogin with password = 'test',check_expiration=off,check_policy=on,default_database=viewdb;
go
use viewdb;
go
create user viewuser for login viewlogin;
go
use mst
create user viewuser for login viewlogin;
--create schema viewSchema authorization viewuser;
--create view viewSchema.viewDept as (select *, 1 hoge, 2 hogehoge from mst.dbo.department);
use viewdb;
go
--drop view viewLine;
create view viewLine as (select l.lineCd, l.eeptCd, l.name, 1 hoge, 2 hogehoge from mst.dbo.Line l);
go
use viewdb;
--ユーザ付与でもいい
grant select on object::viewLine to viewuser;
use mst;
--ユーザ付与でもいい
grant select on object::Line(lineCd, deptCd, name) to viewuser;


ログインとユーザが分かれている部分などは、OracleやMySQLとは違うので留意しておく必要がある。
また、ログインは、Windows認証とSQL Server認証があるので、こちらも抑えておく必要がある。

2014年1月22日水曜日

久しぶりにインターネットに繋いだWindows7の更新の件数が143個だった。

2011/5/24から約3年ぶりのインターネット接続...
100件を超えるなんてちょっと更新数が多すぎる


2014年1月16日木曜日

VMWare workstation 8.0.6にMac OS X Mavericksをインストールする方法(4)


画面サイズが大きくならないので、最後にVMWare toolsを入れて完了となる
iosイメージをマウントしてインストールを行う
詳細
 http://www.sysprobs.com/guide-install-os-x-10-9-mavericks-on-vmware-workstation-with-windows-7-or-windows-8
VMWare tools
 https://drive.google.com/file/d/0B3pJKnB48Oqici1zRk9SejNWWEk/edit?usp=sharing

VMWare workstation 8.0.6にMac OS X Mavericksをインストールする方法(3)



注意点は2点
 CPUを認識さえる。
 Mac OS Extフォーマット DISK イメージを用意する
  DISKは取り込み時にフォーマットを「既存の形式を保持」を選択する
ではやってみよう
 新規でVMを作る。選択OSは、「Apple Mac OS X」の「10.8」にする

 
イメージができたら、「Mac OS Extフォーマット」のDISKを追加する。
追加時に↓の選択肢が出るので、「既存の形式を保持」を選択する。
 

あと、vmxファイルを開いてCPUの対応をさせる。

追加行
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

あとは、インストールCDまたは、USBメモリを接続して電源を入れるとセットアップが始まります。

Mac OS Extフォーマット DISK イメージ

↓Mac OS ExtフォーマットのDISKイメージがない方へプレゼント100GBです。
MacOSX10.9.vmdk.zip
https://drive.google.com/file/d/0B3pJKnB48OqiVTFSV0laY0h2cUU/edit?usp=sharing

↓私が実際に使っているもの
MacOSX10.9_full_sample.zip
https://drive.google.com/file/d/0B3pJKnB48OqiejZwWVdYNmJXQUU/edit?usp=sharing





VMWare workstation 8.0.6にMac OS X Mavericksをインストールする方法(2)

VMWare workstation 8.0.6にMac OS X Mavericksをインストールする方法(2)
VMWare workstationのロックを外す
VMWareではMACは使用できないようになっているので、解除する必要があります。
手順
 Unlocker1.2.0をインストールする

 1.install.cmd
  を管理者権限で実行する

 詳細
  http://www.insanelymac.com/forum/files/file/20-vmware-unlocker-for-os-x/

 Unlockerの入手先
  https://drive.google.com/file/d/0B3pJKnB48OqiSHJLWXlrenE2dWs/edit?usp=sharing

VMWare workstation 8.0.6にMac OS X Mavericksをインストールする方法(1)

VMWare workstation 8.0.6にMac OS X Mavericksをインストールする方法(1)
苦労したのでメモを残す
1)インストールイメージの作成
 手順は2つあり、私は、コマンドで作成した。
 手順1 DiskMaker Xを使う
  MAC(Mavericks)でDiskMaker Xを入れてUSBメモリに起動DISKとセットアップを入れる。
  USBメモリは8GBは必要
  1.MarverickでApp StoreでOS X Marvericksをインストール開始する
  2.途中でダウンロードしたらセットアップを途中で止める
  3.DiskMaker Xを使用してUSBメモリを起動ディスクにする。
  詳細
   http://c-through.blogto.jp/archives/34782560.html

 手順2 コマンドで起動ディスク兼セットアップディスクを作成する
 
  流したコマンド
 
   # インストールイメージをマウントします
   hdiutil attach /Applications/Install\ OS\ X\ Mavericks.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
   # ディスクにブートイメージを変換する
   hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Mavericks
   # インストーラに対応するためにディスク容量を増やす
   hdiutil resize -size 8g /tmp/Mavericks.sparseimage
   # インストーラを追加するためにディスクにもマウントする
   hdiutil attach /tmp/Mavericks.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build
   # リンクを削除し、実際のファイルと交換する
   rm /Volumes/install_build/System/Installation/Packages
   cp -rp /Volumes/install_app/Packages /Volumes/install_build/System/Installation/
   # インストーラをアンマウント
   hdiutil detach /Volumes/install_app
   # ディスクをアンマウント
   hdiutil detach /Volumes/install_build
   # ディスクの空き容量を空ける
   hdiutil resize -size `hdiutil resize -limits /tmp/Mavericks.sparseimage | tail -n 1 | awk '{ print $1 }'`b /tmp/Mavericks.sparseimage
   # CDイメージに変換する
   hdiutil convert /tmp/Mavericks.sparseimage -format UDTO -o /tmp/Mavericks
   # ディスクを削除
   rm /tmp/Mavericks.sparseimage
   # 完成品をデスクトップへ移動
   mv /tmp/Mavericks.cdr ~/Desktop/Mavericks.iso
  詳細
   http://bjornhouben.wordpress.com/2013/10/25/apple-create-an-os-x-10-9-mavericks-bootable-usb-flash-drive-or-iso/






2014年1月14日火曜日

ubuntu13.10で発生する日本語表示のエラーについて

 下記のエラーが発生する
 Mozc setup helper
 This program intends to run on Japanese environment. Sorry for inconvenience.
 スパーユーザで設定を変更し、再起動を行う
 sudo su -
 cat /etc/default/locale
 update-locale LANG=ja_JP.UTF-8
 cat /etc/default/locale
 echo "LC_ALL=ja_JP.UTF-8" >> /etc/default/locale
 cat /etc/default/locale
 shutdown -r now
 詳細
  http://blog.designrecipe.jp/2011/06/04/ubuntu-initial-setup-locale-timezone/
参考
  http://kledgeb.blogspot.jp/2014/01/mozc-6-mozc.html


この対応に少し時間がかかった。

2014年1月10日金曜日

エラー:Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.

cross compilerを使用してlinuxのコードをビルドしたら、
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
のエラーが発生した。

sudoが必要かと思ったが、なんてこと無い、xcodeを起動してlicenseをagreeするだけだった。

2014年1月7日火曜日

gitの操作を間違ったのでリカバリした。その時のメモ


1)ブランチを削除する。リモートブランチを削除する。
http://qiita.com/iori-o@github/items/c7e0aca399371068a9b8
16:59:19.50>git branch --all
* master
  master3
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/master3
17:26:16.42>git branch --delete master3
warning: deleting branch 'master3' that has been merged to
         'refs/remotes/origin/master3', but not yet merged to HEAD.
Deleted branch master3 (was 9683d40).
17:27:33.27>git branch --remote
  origin/HEAD -> origin/master
  origin/master
  origin/master3
17:27:36.31>git push --delete origin master3
To //Server/gitdatabase
 - [deleted]         master3

⇒うまくいった。

2)チェックインを指定してブランチを移動する。
http://hylom.net/2011/03/01/how-to-reset-remote-git-branch/
17:37:49.41>git reset dc23eaa0aa4953472bc45e278578c37550c432f7
Unstaged changes after reset:
M       hogehoge.js
M       hogehoge_view.js
M       hogehoge_view.js
M       d_hogehoge.js
M       d_menu.html
M       d_hogehoge.js

3)チェックインしたリモートブランチを削除する。
http://blog.livedoor.jp/enjoy_baseball-advanced/archives/51544249.html
17:41:43.64>
17:58:52.20>git rebase -i HEAD~1
/usr/lib/git-core/git-rebase--interactive: line 189: vi: command not found
Could not execute editor
17:58:58.51>git push origin +master
Total 0 (delta 0), reused 0 (delta 0)
To //Server/gitdatabase
 + 0d40473...dc23eaa master -> master (forced update)
⇒成功した。

.NETでJSONサービスを作って見た。インタフェースを間違えると↓のエラーが発生する。

.NETでJSONサービスを作って見た。インタフェースを間違えると↓のエラーが発生する。

コード
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "getBeforeHandlingAll/{trainingType}")]
BeforeHandlingListResponse GetBeforeHandlingAll(string traningType);
⇒文字列が異なるとエラーになるようです。
エラーメッセージ
WebHost で要求の処理に失敗しました。
 送信者の情報: System.ServiceModel.ServiceHostingEnvironment+HostingManager/7185836
 例外: System.ServiceModel.ServiceActivationException: The service '/HOGE/HogehogeService' cannot be activated due to an exception during compilation.  The exception message is: Operation 'GetBeforeHandlingAll' in contract 'IHogeService' has a UriTemplate that expects a parameter named 'TRAININGTYPE', but there is no input parameter with that name on the operation.. ---> System.InvalidOperationException: Operation 'GetBeforeHandlingAll' in contract 'IHogeService' has a UriTemplate that expects a parameter named 'TRAININGTYPE', but there is no input parameter with that name on the operation.
   場所 System.ServiceModel.Dispatcher.UriTemplateClientFormatter.Populate(Dictionary`2& pathMapping, Dictionary`2& queryMapping, Int32& totalNumUTVars, UriTemplate& uriTemplate, OperationDescription operationDescription, QueryStringConverter qsc, String contractName)
   場所 System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter..ctor(OperationDescription operationDescription, IDispatchMessageFormatter inner, QueryStringConverter qsc, String contractName, Uri baseAddress)
   場所 System.ServiceModel.Description.WebHttpBehavior.GetRequestDispatchFormatter(OperationDescription operationDescription, ServiceEndpoint endpoint)
   場所 System.ServiceModel.Description.WebHttpBehavior.ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
   場所 System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost)
   場所 System.ServiceModel.ServiceHostBase.InitializeRuntime()
   場所 System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   場所 System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   --- 内部例外スタック トレースの終わり ---
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   場所 System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
 プロセス名: w3wp
 プロセス ID: 19252


コード
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "getBeforeHandlingAll/{trainingType}")]
BeforeHandlingListResponse GetBeforeHandlingAll(int trainingType);
⇒受け取った文字をint型には出来ないようです。
エラーメッセージ
 WebHost で要求の処理に失敗しました。
 送信者の情報: System.ServiceModel.ServiceHostingEnvironment+HostingManager/40607348
 例外: System.ServiceModel.ServiceActivationException: The service '/HOGE/HogeService' cannot be activated due to an exception during compilation.  The exception message is: Operation 'GetBeforeHandlingAll' in contract 'IHogeService' has a path variable named 'trainingType' which does not have type 'string'.  Variables for UriTemplate path segments must have type 'string'.. ---> System.InvalidOperationException: Operation 'GetBeforeHandlingAll' in contract 'IHogeService' has a path variable named 'trainingType' which does not have type 'string'.  Variables for UriTemplate path segments must have type 'string'.
   場所 System.ServiceModel.Dispatcher.UriTemplateClientFormatter.Populate(Dictionary`2& pathMapping, Dictionary`2& queryMapping, Int32& totalNumUTVars, UriTemplate& uriTemplate, OperationDescription operationDescription, QueryStringConverter qsc, String contractName)
   場所 System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter..ctor(OperationDescription operationDescription, IDispatchMessageFormatter inner, QueryStringConverter qsc, String contractName, Uri baseAddress)
   場所 System.ServiceModel.Description.WebHttpBehavior.GetRequestDispatchFormatter(OperationDescription operationDescription, ServiceEndpoint endpoint)
   場所 System.ServiceModel.Description.WebHttpBehavior.ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
   場所 System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost)
   場所 System.ServiceModel.ServiceHostBase.InitializeRuntime()
   場所 System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   場所 System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   --- 内部例外スタック トレースの終わり ---
   場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   場所 System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
 プロセス名: w3wp
 プロセス ID: 19252

互換性のない構造でメディアがフォーマットされた後に 'COMPRESSION' が要求されたため、バックアップを実行できません。このメディア セットに追加するには、'COMPRESSION' を削除するか、'NO_COMPRESSION' を指定します。また、BACKUP ステートメントで WITH FORMAT を使用して、新しいメディア セットを作成することもできます。既存のメディア セットに対して WITH FORMAT を使用すると、そのバックアップ セットはすべて上書きされます。

メッセージ 3098、レベル 16、状態 2、行 1
互換性のない構造でメディアがフォーマットされた後に 'COMPRESSION' が要求されたため、バックアップを実行できません。このメディア セットに追加するには、'COMPRESSION' を削除するか、'NO_COMPRESSION' を指定します。また、BACKUP ステートメントで WITH FORMAT を使用して、新しいメディア セットを作成することもできます。既存のメディア セットに対して WITH FORMAT を使用すると、そのバックアップ セットはすべて上書きされます。
メッセージ 3013、レベル 16、状態 1、行 1
BACKUP DATABASE が異常終了しています。


メッセージ 3098、レベル 16、状態 2、行 8
互換性のない構造でメディアがフォーマットされた後に 'COMPRESSION' が要求されたため、バックアップを実行できません。このメディア セットに追加するには、'COMPRESSION' を削除するか、'NO_COMPRESSION' を指定します。また、BACKUP ステートメントで WITH FORMAT を使用して、新しいメディア セットを作成することもできます。既存のメディア セットに対して WITH FORMAT を使用すると、そのバックアップ セットはすべて上書きされます。
メッセージ 3013、レベル 16、状態 1、行 8
BACKUP LOG が異常終了しています。
が発生する理由
バックアップメディアを非圧縮で作成して、そこに圧縮を入れるとこのエラーが発生します。
エラーの発生するパターン
ex1
BACKUP DATABASE HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT

BACKUP DATABASE HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT, COMPRESSION

ex2
BACKUP LOG HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT

BACKUP LOG HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT, COMPRESSION

注意事項は、
BACKUP DATABASE HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT, COMPRESSION

BACKUP DATABASE HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT

BACKUP LOG HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT, COMPRESSION

BACKUP LOG HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT
ってやるとエラーが出ない上に、初回で作成されたメディアセットが圧縮のために二回目も圧縮でファイルが作成されます。

また、強制的にメディアセットを新しいフォーマットで上書きしたい場合は、
BACKUP DATABASE HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT

BACKUP DATABASE HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT, COMPRESSION, FORMAT

BACKUP LOG HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT

BACKUP LOG HOGEHOGE TO DISK=N'D:\HOGEHOGE.bak'
WITH INIT, COMPRESSION, FORMAT
などとするとえらーになりません。
ただし、メディアセットの初期化はその内容が全て使用できなくなるため、注意が必要です。