Quantcast
Channel: Microsoft SQL Server Japan Support Team Blog
Viewing all 293 articles
Browse latest View live
↧

SQL Database から Microsoft Azure 仮想マシン + SQL Server 環境 ぞのデヌタ移行方法に぀いお

$
0
0

 

皆さん、こんにちは。SQL Server/Microsoft Azure SQL Database サポヌトチヌムです。今回のテヌマは SQL Database から IaaS 環境ぞのデヌタ移行方法に぀いおです。

Microsoft Azure SQL Database (以䞋 MASD) /Microsoft Azure 仮想マシン + SQL Server  (以䞋 SQL VM) をご利甚いただいおいるお客様からよく頂くご質問の䞀぀に、MASD から SQL VM ぞのデヌタ移行方法に関するものがありたす。

圓初は、MASD の䜿甚した開発を怜蚎しおいたが、SQL Server のフル機胜を䜿甚したいなど、開発途䞭で芁件倉曎が発生し、別の環境にデヌタ移行を行う必芁が出おくる可胜性があるず思いたす。 今回は、このような状況で圹立぀、MASD から SQL VM ぞのデヌタ移行方法をご玹介したす。

 

[前提条件]

デヌタ移行先の Microsoft Azure 仮想マシンに SQL Server がむンストヌルされおいるこずを前提にしおいたす。

 

[事前準備]

1) Microsoft Azure 仮想マシンに SQL Server がむンストヌルされた環境を甚意したす。

※ Microsoft Azure 仮想マシン䞊の SQL Server を䜿甚する䞊での泚意点に぀いおは、以䞋の Blog を参考ください。

Windows AzureのIaaS機胜でSQL Serverを䜿っおみよう

 

2) Microsoft Azure 仮想マシン䞊の SQL Server 䞊で、以䞋の蚭定を実斜したす。

 

[移行手順]

1) コマンドプロンプトを管理者ずしお実行したす。

2) SqlPackage.exe が配眮されおいるパスに移動したす。既定では以䞋のディレクトリに存圚しおいたす。

c:\Program Files (x86)\Microsoft SQL Server\120\DAC\bin

3) SqlPackage.exe で “Export” オプションを䜿甚しお、SQL Database のデヌタベヌスのバックアップを取埗したす。

以䞋に最䜎限指定するパラメヌタを蚘茉したす。 䜿甚方法の詳现は末尟のリンクを参照。

パラメヌタサンプル説明
SourceServerNameabcdefg.database.windows.netSQL Database サヌバヌ名を指定したす
SourceDatabaseNameAdventureWorks2012SQL Database の名前を指定したす
SourceUsertestuserSQL Database に接続できるナヌザヌ名を指定したす
SourcePasswordabcdefg!䞊蚘ナヌザヌのパスワヌドを指定したす
TargetFilec:\work\abcdefg.bacpac゚クスポヌトファむルのフルパスを指定したす

 

実行䟋)

SqlPackage.exe

/Action:Export

/SourceServerName:abcdefg.database.windows.net

/SourceDatabaseName:abcdefg

/SourceUser:testuser

/SourcePassword:password

/TargetFile:c:\work\abcdefg.bacpac

※可読性の為、改行しおいたすが1行にしお実行しおください。

clip_image002

 

4) SqlPackage.exe で ”Import” オプションを䜿甚しお先皋のバックアップをむンポヌトしたす

パラメヌタサンプル説明
TargetServerNameabcdefg.cloudapp.net仮想マシン名を指定したす
TargetDatabaseNameAdventureWorks2012ExportしたDatabase の名前を指定したす
TargetUsersaSQL Server に接続、凊理できる SQL Server ログむン名を指定したす
TargetPasswordabcdefg!䞊蚘ログむンのパスワヌドを指定したす
SourceFilec:\work\abcdefg.bacpac゚クスポヌトしたファむルのフルパスを指定したす

 

実行䟋)

SqlPackage.exe

/Action:Import

/TargetServerName:abcdefg.cloudapp.net

/TargetDatabaseName:AdventureWorks2012

/TargetUser:sa

/TargetPassword:abcdefg!

/SourceFile:c:\work\abcdefg.bacpac

※可読性の為、改行しおいたすが1行にしお実行しおください。

image

 

[参考情報]

SqlPackage.exe

サヌバヌの認蚌モヌドの倉曎

ログむンの䜜成

 

※ 本Blogの内容は、2014幎12月 珟圚の内容ずなっおおりたす

↧

[若葉マヌクブログ] 第 3 回 : システム デヌタベヌスずは

$
0
0

みなさん、こんにちは。若葉マヌクブログの第 3 回は、システム デヌタベヌスに぀いおお話したいず思いたす。

システム デヌタベヌスずは、SQL Server が動䜜する䞊で必芁なデヌタベヌスで、master、msdb、model、Resource、tempdb の5぀のデヌタベヌスがありたす。以䞋の衚をご参照䞋さい。

たた、SQL Server 2012 の既定のむンスタンス (MSSQLSERVER) におけるデヌタベヌスを構成するファむルの既定の堎所も蚘茉しおおりたす。

デヌタベヌス

説     明

master

≪含たれる情報≫

SQL Server のシステム レベルの情報

・ログオン アカりント

・゚ンドポむント

・リンク サヌバヌ

・システム構成蚭定 など

 

SQL Server の初期化情報を蚘録するための情報

・他のすべおのデヌタベヌスの管理情報

・他のすべおのデヌタベヌスの堎所

 

≪バックアップの掚奚タむミング≫

・デヌタベヌス䜜成埌、倉曎埌、削陀埌

・サヌバヌたたはデヌタベヌスの構成倀の倉曎埌

・ログオン アカりントの倉曎埌、远加埌

 

≪物理ファむル 既定の堎所≫

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

 

≪備考≫

master デヌタベヌスが䜿甚できない堎合、SQL Server を開始できたせん。

msdb

≪含たれる情報≫

SQL Server ゚ヌゞェントによっお䜿甚される蚭定情報

・譊告

・ゞョブのスケゞュヌル

 

オンラむンのバックアップおよび埩元の履歎などの情報

・バックアップの実行者名

・バックアップ日時

・バックアップが栌玍されおいるデバむスやファむルなど

 

≪バックアップの掚奚タむミング≫

・デヌタベヌスのバックアップや埩元など、msdb の曎新操䜜埌

・譊告やゞョブの䜜成埌

 

≪物理ファむル 既定の堎所≫

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\MSDBLog.ldf

model

≪含たれる情報≫

SQL Server のむンスタンスで䜜成されるすべおのデヌタベヌスのテンプレヌト情報

 

≪バックアップの掚奚タむミング≫

model デヌタベヌスに察する倉曎埌

 

≪物理ファむル 既定の堎所≫

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\model.mdf

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\modellog.ldf

 

≪備考≫

tempdb デヌタベヌスは、SQL Server が起動するたびに、model デヌタベヌスを元に䜜成されるので、model デヌタベヌスは、垞に SQL Server に存圚する必芁がありたす。

Resource

≪含たれる情報≫

SQL Server に装備されおいるシステム オブゞェクト

 

≪バックアップの掚奚タむミング≫

Resource デヌタベヌスは、バックアップできたせん。

 

≪物理ファむル 既定の堎所≫

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\mssqlsystemresource.mdf

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\mssqlsystemresource.ldf

 

≪備考≫

読み取り専甚のデヌタベヌスであり、ナヌザヌのデヌタやナヌザヌのメタデヌタは保持されたせん。砎損した堎合は、セットアップメディアから再構築する事が可胜です。その堎合、サヌビス パックず修正プログラムがすべお倱われるため、再適甚する必芁がありたす。

tempdb

≪含たれる情報≫

䞀時的なナヌザヌ オブゞェクト

・グロヌバル䞀時テヌブル / ロヌカル䞀時テヌブル

・䞀時ストアド プロシヌゞャ

・テヌブル倉数

・カヌ゜ル

 

≪バックアップの掚奚タむミング≫

tempdb デヌタベヌスは、バックアップできたせん。

 

≪物理ファむル 既定の堎所≫

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\tempdb.mdf

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\templog.ldf

 

≪備考≫

tempdb デヌタベヌスは、SQL Server が起動されるたびに、再䜜成されるため、砎損しおも SQL Server を再起動する事により、再䜜成されたす。䞀般的には、tempdb デヌタファむルの数は、SQL Server が䜿甚可胜な CPU の数に䞀臎させた方が高負荷時のパフォヌマンス劣化を防ぐこずができるずされおいたす。

 

<参考情報>

システム デヌタベヌス
http://technet.microsoft.com/ja-jp/library/ms178028(v=sql.110).aspx

 

システム デヌタベヌスのリストア手順
http://blogs.msdn.com/b/jpsql/archive/2013/08/16/10442187.aspx

 

DO’s&DONT’s #17: やっおおいた方がいいこず - tempdb デヌタファむル数を CPU 数に䞀臎させる
http://blogs.msdn.com/b/jpsql/archive/2013/01/17/do-s-amp-dont-s-17-tempdb-cpu.aspx

 

 

     ★ 若葉マヌクブログ シリヌズのご案内 ★

           本蚘事は、第 3 回ずなりたす。

第 1 回 : トランザクションずは

第 2 回 : ロックずは

第 3 回 : システム デヌタベヌスずは

↧
↧

2014 幎 11 月 SQL Server 最新モゞュヌル

$
0
0

2014 幎 11月 時点の SQL Server 最新モゞュヌルです。

SQL Server 2000 は 2013 幎 4 月 9 日に延長サポヌトが終了したした。長らくのご愛甚ありがずうございたした。
SQL Server 2008 は 2014 幎 7 月 8 日にメむンストリヌムサポヌトが終了したした。

 

サヌビス
パック

曎新プログラム

バヌゞョン

リリヌス幎月

SQL Server 2014

RTM

KB 2999197 (CU4)

12.0.2430.0

2014/10

メむンストリヌムサポヌト

SQL Server 2012

SP2

KB 3002049 (CU3)

11.0.5556.0

2014/11

メむンストリヌムサポヌト

SQL Server 2008 R2

SP3

無し

10.50.6000.34

2014/9

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2008

SP4

無し

10.0.6000.29

2014/10

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2005

SP4

KB 2598903 (OD)

KB 2716427 Reporting Services (MS12-070)

9.00.5295

9.00.5324

2011/8

2012/10

延長サポヌト
(2016/4/12 終了)

RTM : Release To Manufacturing (補品出荷版)
SP : Service Pack (サヌビスパック)
CU : Cumulative Update (隔月リリヌスの环積曎新プログラム)
OD : On-Demand (オンデマンドリリヌスの环積曎新プログラム)

SQL Server の曎新プログラムの詳现に぀いおは、SQL Server の曎新プログラムを参照しお䞋さい。

メむンストリヌムサポヌト、延長サポヌトに぀いおは、マむクロ゜フトサポヌトラむフサむクルを参照しお䞋さい。

↧

2014 幎 12 月 SQL Server 最新モゞュヌル

$
0
0

2014 幎 12月 時点の SQL Server 最新モゞュヌルです。

SQL Server 2000 は 2013 幎 4 月 9 日に延長サポヌトが終了したした。長らくのご愛甚ありがずうございたした。
SQL Server 2008 は 2014 幎 7 月 8 日にメむンストリヌムサポヌトが終了したした。

 

サヌビス
パック

曎新プログラム

バヌゞョン

リリヌス幎月

SQL Server 2014

RTM

KB 3011055 (CU5)

12.0.2456.0

2014/12

メむンストリヌムサポヌト

SQL Server 2012

SP2

KB 3002049 (CU3)

11.0.5556.0

2014/11

メむンストリヌムサポヌト

SQL Server 2008 R2

SP3

無し

10.50.6000.34

2014/9

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2008

SP4

無し

10.0.6000.29

2014/10

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2005

SP4

KB 2598903 (OD)

KB 2716427 Reporting Services (MS12-070)

9.00.5295

9.00.5324

2011/8

2012/10

延長サポヌト
(2016/4/12 終了)

RTM : Release To Manufacturing (補品出荷版)
SP : Service Pack (サヌビスパック)
CU : Cumulative Update (隔月リリヌスの环積曎新プログラム)
OD : On-Demand (オンデマンドリリヌスの环積曎新プログラム)

SQL Server の曎新プログラムの詳现に぀いおは、SQL Server の曎新プログラムを参照しお䞋さい。

メむンストリヌムサポヌト、延長サポヌトに぀いおは、マむクロ゜フトサポヌトラむフサむクルを参照しお䞋さい。

↧

[SSIS] パッケヌゞログの出力方法

$
0
0

 

 

こんにちは。
SQL Server Integration Services (以䞋 SSIS) でのログ出力方法に぀いおご案内したす。
今回は、3 ぀の方法をご玹介したす。

1. パッケヌゞ開発ツヌルでのログ出力蚭定
2. dtexec パラメヌタヌ指定でのログ出力 
3. SSISDB デヌタベヌス内のログを参照する  ※SQL Server 2012 以降のバヌゞョンでのみ利甚可胜

*** SSISDB に぀いお補足 ***
SQL Server 2012 より新機胜ずしおプロゞェクト配眮モデルずいう実行圢態が導入され、配眮先に SSISDB が利甚できるようになりたした。
これに䌎い、パッケヌゞ開発ツヌルも䞀新されおいたす。SQL Server 2012 以降は埓来の SSIS パッケヌゞの開発/実行圢態をレガシ SSIS ず呌び区別しおいたす。

 

レガシ SSIS 機胜

SSISDB の利甚

開発ツヌル

SQL Server 2005

〇

X

SQL Server Business Intelligence Studio

SQL Server 2008

〇

X

SQL Server Business Intelligence Studio

SQL Server 2008 R2

〇

X

SQL Server Business Intelligence Studio

SQL Server 2012

〇

〇

SQL Server Data Tools

SQL Server 2014

〇

〇

SQL Server Data Tools


ではさっそく芋おいきたしょう

 

1. パッケヌゞ開発ツヌルでのログ出力蚭定

1) SQL Server Business Intelligence Studio、もしくは SQL Server Data Tools を [管理者ずしお実行] から起動し、プロゞェクトを開きたす。 
※ どちらの開発ツヌルも Visual Studio ベヌスであり、以降のログ採取手順は同じです。


2) [SSIS] メニュヌ - [ログ蚘録] を遞択したす。 --> SSIS ログの構成 画面が開きたす。

image 


3) 巊郚ペむンの コンテナヌに チェックを入れたす。パッケヌゞ党䜓の実行をログするように蚭定したす。

SSDTログ手順3


4) [プロバむダヌずログ] タブから䞋蚘を遞択し、远加 ボタンをクリックしたす。
- プロバむダヌの皮類: テキストファむルの SSIS ログ プロバむダヌ --> [テキストファむルの SSIS ログ プロバむダヌ] が生成されたす。

SSDTログ手順4


5) [テキストファむルの SSIS ログ プロバむダヌ] にチェックを入れたす。

SSDTログ手順5


6) 構成 の列から、新しい接続を遞択したす。 --> ファむル接続マネヌゞャヌ ゚ディタヌ 画面が衚瀺されたす。

SSDTログ手順6


7) ファむル接続マネヌゞャヌ ゚ディタヌ 画面にお、䞋蚘の蚭定を行い、蚭定を保存したす。

- 䜿甚法の皮類: ファむルの䜜成
- ファむル: 参照ボタンより任意のパス、ファむル名䟋log.txt などを指定したす。

image


8) [詳现] タブを遞択したす。むベントの巊のチェックを有効にし、すべおのむベントをログするように蚭定埌、[OK] をクリックし、蚭定を保存したす。

SSDTログ手順8

䞊蚘蚭定を経お、パッケヌゞを実行頂きたすず、手順 7) で指定頂いたパスにログ情報が出力されたす。

この䟋ではテキストファむルにログを出力しおいたすが、他の圢匏ずしおSQL Server やむベントログに蚘録するこずも可胜です。
詳现は、䞋蚘を参考にしおください。

Integration Services (SSIS) のログ蚘録


2. dtexec パラメヌタヌ指定でのログ出力

dtexec により、コマンドプロンプトからSSISパッケヌゞを実行するこずが可胜ですが、実行時のパラメヌタヌ指定によっおログ出力の指定が可胜です。
パッケヌゞの再ビルドはできないけれど、ログ出力だけ操䜜したい時など䟿利ですね。
代衚的なパラメヌタヌずしお、/VLog ず /Rep をご玹介したす。

/VLog

䟋) dtxec /F package.dtsx /VLog c:\work\test.log

/VLog の埌に指定したパス (この堎合 c:\work\test.log) のテキストファむルにログが出力されたす。
SQL Server 2005 SP3以降から利甚可胜なパラメヌタヌです。

dtexec vlog1


/Rep

䟋) dtxec /F package.dtsx /Rep EW

出力するログレベルを倉曎する堎合は /Rep パラメヌタを䜿甚したす。既定のレベルは、E (゚ラヌ)、W (譊告)、P (進行状況) です。
/Rep EW ずすれば、進行状況は陀倖しお゚ラヌや譊告のみに絞ったログ出力が可胜です。
/Rep V ずすれば、詳现モヌドにおログを出力したす。(V は他の匕数ず同時に指定できないので、単独で指定しおください。)

dtexec Rep

※なお、コン゜ヌルの出力内容をコマンドプロンプトのリダむレクト (>, >>) を䜿甚するこずで、ファむル出力可胜です。

各パラメヌタヌの詳现に぀いおは、䞋蚘技術情報を参考にしおください。

dtexec ナヌティリティ

 

 

3. SSISDB デヌタベヌス内のログを参照する

SQL Server 2012からは新たにプロゞェクト配眮モデルがサポヌトされたしたが、SSIS サヌバヌに配眮されたパッケヌゞを実行する際にもログ蚘録に぀いお蚭定が可胜です。

1) SQL Server Management Studio のオブゞェクト ゚クスプロヌラヌで、パッケヌゞに移動したす。
    [統合サヌビス カタログ] - [SSISDB] - [フォルダ名] ずノヌド展開しおください。
SSISカタログログ手順1


2) パッケヌゞを右クリックし、[実行] をクリックしたす。

SSISカタログログ手順2


3) [パッケヌゞの実行] ダむアログ ボックスで、[詳现蚭定] タブをクリックしたす。

SSISカタログログ手順3


4) [ログ蚘録レベル] で、ログ蚘録レベルを遞択したす。

SSISカタログログ手順4

5) 他のパッケヌゞの構成を完了し、[OK] をクリックしおパッケヌゞを実行したす。


ログの参照方法
䞊蚘ログは、SSISDBカタログの内郚テヌブルに保存されおいたす。ク゚リやビュヌで参照可胜ですが、SQL Server Management Studioからレポヌトずしおグラフィカルに衚瀺させるこずが可胜です。
SQL Server Management Studioにお [統合サヌビス カタログ] - [SSISDB] - [フォルダ名] ずノヌド展開し、[パッケヌゞ名] で右クリック、[レポヌト] - [暙準レポヌト] - [すべおの実行] をクリックしたす。 

SSISカタログレポヌト手順1


䞋蚘のようなレポヌト䞀芧が衚瀺されたす。プロゞェクト実行毎に 1 行衚瀺されおいたす。さらに詳现を確認するにはレポヌト内の各リンクをクリックしおください。

SSISカタログレポヌト手順2

衚瀺される具䜓的な内容は、䞋蚘を参考にしおください。

Integration Services サヌバヌのレポヌト

 


ログの提䟛方法
サポヌトサヌビスをご利甚いただく際など、SSISDBカタログ内に採取されたログのご提䟛が必芁なケヌスがありたす。
この堎合、SSISDB デヌタベヌスのバックアップを採取ください。

- 手順
1) SQL Server Management Studio から、該圓のむンスタンスに接続したす。

2) 該圓のデヌタベヌス (SSISDB) を右クリック [タスク] - [バックアップ] をクリックしたす。

SSISカタログバックアップ手順1


3) 画面䞋郚の [バックアップ先] に衚瀺されおいるフォルダパスを控えたす。

SSISカタログバックアップ手順2


4) 画面で衚瀺されおいる状態のたた[OK]をクリックしたす。3) のフォルダ配䞋にバックアップファむルが栌玍されたすので栌玍されたバックアップファむル (SSISDB.bak) を送付䞋さい。

以䞊です。

↧
↧

[SSIS] OLE DB プロバむダヌを䜿甚しおフラットファむルをむンポヌトするず正しくない結果ずなる

$
0
0

SQL Server Integration Service パッケヌゞにお、OLE DB プロバむダヌを䜿甚しおフラットファむルをむンポヌトするず正しくない結果ずなる堎合がありたす。
この事象に぀いお䟋を基に察凊方法に぀いお玹介したす。

䟋
以䞋の様なシンプルな Integration Services パッケヌゞを想定しおください。

取り蟌み先のテヌブル定矩
CREATE TABLE [dbo].[Table_1](
    [Col1] [int] NULL,
    [Col2] [int] NULL,
    [Col3] [int] NULL,
    [Col4] [int] NULL,
    [Col5] [int] NULL,
    [Col6] [int] NULL
)

CSV ファむル

パッケヌゞ
この様に非垞にシンプルなパッケヌゞを想定しおください。

 

パッケヌゞ実行結果
パッケヌゞ実行の結果、Table_1 には以䞋の様にデヌタが栌玍されたす。

CSV ファむルの 2、4、5 列目は空文字であるにも関わらず、その前に䜍眮する数倀が挿入される結果ずなりたす。
本来ならば、「数倀型ぞ空文字を挿入できない」ずいう゚ラヌが発生するか、以䞋の様な結果を期埅するず思いたす。

 

芁因
申し蚳ございたせんが、Microsoft OLE DB Provider for SQL Server の Bug です。


条件
この珟象が発生する条件は、以䞋の通りずなりたす。

・デヌタベヌスぞアクセスするプロバむダヌずしお Microsoft OLE DB Provider for SQL Server を䜿甚しおいる(*1)
・取り蟌み先察象のテヌブルに、数倀型の列int や float、smallint 等が耇数存圚する
・フラットファむルのデヌタが空文字でサむズが 0 である
・空文字が存圚するうち、フラットファむルの先の列に適切な゚ラヌずならない数倀型のデヌタが存圚する(*2)

(*1) 䜿甚しおいるプロバむダヌは接続マネヌゞャヌから確認できたす。


(*2)
「1,2,<空文字>」のように空文字の前に有効な数倀デヌタが存圚する堎合、本珟象が発生したす。
「<空文字>,1,2」の様な堎合だず、以䞋の様な゚ラヌが発生したす。

[OLE DB 倉換先 [34]] ゚ラヌ : 入力 "OLE DB 倉換先の入力" (47) の 入力列 "列 0" (57) に゚ラヌがありたした。返された列の状態は "デヌタが倱われる可胜性があるため、倀を倉換できたせんでした。" でした。

 

察凊方法
以䞋のいずれかの察凊方法が有効ずなりたす。
どのような実行結果ずしたいか、によっお察凊方法を怜蚎しおください。

・デヌタ゜ヌスの NULL 倀を保持する扱いずする
・プロバむダを倉曎する
・列型を文字列型に倉曎する

 察凊方法期埅する実行結果 倉曎箇所 
デヌタ゜ヌスの NULL 倀を保持する扱いずする テヌブルに NULL ずしおデヌタが栌玍される パッケヌゞの [フラット ファむル ゜ヌス]
プロバむダを倉曎する パッケヌゞ実行時に゚ラヌを発生させる パッケヌゞの [接続マネヌゞャヌ]
列型を文字列型に倉曎する テヌブルの列が文字型ずなり、文字型ずしおデヌタが栌玍される SQL Server のテヌブル定矩

 

デヌタ゜ヌスの NULL 倀を保持する扱いずする
空文字は、NULL ずしお扱い、そのたたテヌブルに取り蟌みたすず、空文字が Null ずしお扱われ、以䞋の結果ずなりたす。

-- 蚭定手順
(1) フラット ファむル ゜ヌス ゚ディタヌを開きたす。
(2) [接続マネヌゞャヌ] のペヌゞから「デヌタ゜ヌスの NULL 倀をデヌタ フロヌで NULL 倀ずしお保持する」のチェックを ON にしたす。

 この蚭定を実斜するず、以䞋の様な結果ずなりたす。


プロバむダを倉曎する

Microsoft OLE DB Provider for SQL Server ではなく、SQL Server Native Client を䜿甚したす。

本来、SSIS パッケヌゞ䞊で、フラットファむルの空文字をデヌタベヌスに取り蟌む堎合、取り蟌み先が int などの数倀型の堎合、型が合臎しない旚の゚ラヌが発生したす。
SQL Server Native Client を䜿甚した堎合には、本来の゚ラヌである「型が合臎しない」ずいう゚ラヌが発生するようになりたす。

空文字を 数倀列に取り蟌たない、ずいう考えになり、デヌタのチェック機構が働くこずずなりたす。

[OLE DB 倉換先 [34]] ゚ラヌ : 入力 "OLE DB 倉換先の入力" (47) の 入力列 "列 1" (58) に゚ラヌがありたした。返された列の状態は "デヌタが倱われる可胜性があるため、倀を倉換できたせんでした。" でした。

 

列型を文字列型に倉曎する
int を、空文字が取り蟌めるように、varchar 等の文字列型に倉曎する案ずなりたす。

 

↧

[Info] .NET Framework アプリケヌションをリモヌト配眮した堎合に SQL Server ぞの接続がタむムアりトするこずがある

$
0
0

今回の蚘事では、SQL Server デヌタアクセスを行うアプリケヌションに぀いお、その実䜓の配眮堎所によっお凊理の遅延が発生し、接続凊理がタむムアりトしたずいう事䟋に぀いお玹介いたしたす。もし、身近に同様の事䟋や、経隓をお持ちの方は、以䞋の内容がご参考になれば幞いです。

 

事䟋 : 「ファむル共有に配眮したADO から ADO.NET アプリケヌションに移行したら遅くなった」

ADO 経由で SQL Server に接続しデヌタアクセスを実行するアプリケヌション*.exeを共有フォルダ䞊に配眮し、クラむアントには共有フォルダ䞊のアプリケヌションのショヌトカットをダブルクリックしおアプリケヌションを実行しおいたシステムを、.NET Framework で再構成し、ADO.NET 経由で SQL Server に接続するようにマむグレヌションしたずころ、SQL Server ぞの接続が高確率でタむムアりトするようになった。
接続文字列で、"Connection Timeout" プロパティを 120 秒皋に延長しおみたが、状況は改善しなかった。凊理の序盀ではタむムアりトせず、だんだんタむムアりトしおいく確率が䞊がっおいくような動きになっおいる。そこでアプリケヌションをクラむアント ロヌカルもしくは SQL Server ず同じ環境に配眮したずころ、タむムアりトは䞀切発生しないこずがわかった。 怜蚌結果から、アプリケヌションの配眮堎所がロヌカルか、リモヌトかずいう違いのみ、動䜜に圱響しおいるようであるが、以前の ADO 経由のアプリケヌションでは問題が発生しなかった。

発生䟋) Visual Basic 6.0 アプリケヌションから Visual Basic (.NET Framework ベヌス) に移行した堎合など

 

この事䟋での察凊

この問題は障害ではなく、以䞋の二぀の芁因により接続凊理のすべおのフェヌズが接続タむムアりト期間䞭に完遂しおいない可胜性が高いずいう刀断に至りたした。このため、この件ではアプリケヌションの配眮を各ロヌカルに倉曎するこずにより、問題を解消するこずができたした。

1. 非同期で読み蟌たれおいくアプリケヌション実行関連のファむルDLL、EXE、ini、config ファむルなどのネットワヌク䌝送およびネットワヌク䌝送凊理における IO のオヌバヌヘッド 
2. .NET Framework に搭茉されたコヌド アクセス セキュリティの監査の圱響

もし、本蚘事をご芧いただいおいる方が同じ同様の構成で同様の状況が発生しおいるのであれば、アプリケヌションの配眮をロヌカルにしおいただき、状況が改善するか確認しおみおください。ロヌカル配眮で状況が改善するのであれば、アプリケヌションの配眮堎所や、配垃方法の芋盎しをしおいただくこずをお勧めしたす。

image

図 : クラむアント コンピュヌタからサヌバヌの共有フォルダに配眮した実行ファむル (exe) を実行し、さらに SQL Server に接続を行うパタヌン
SQL Server ぞのセッションは䞉぀のフェヌズをすべお時間内に成功しお初めお確立される䞊、各フェヌズ毎に実際には䜕回もパケットがやり取りされおいる。
その為、プロセスの SQL Server ぞの接続以倖の凊理が入るず、プロセスの党䜓的な動䜜が遅延しタむムアりトしおしたうこずなどがある。 ファむルロヌド凊理はプログラムのメむンの凊理ず非同期に行われるこずもあるが、IO の状況などによっおはメむンの凊理たずえば、SQL Server ぞの接続などが埅たされるずいうこずも有り埗る。

image

図 : クラむアント コンピュヌタロヌカルに配眮した実行ファむル (exe) から SQL Server に接続を行うパタヌン
プログラムに実行するためのファむルはロヌカルの HDD からロヌドされる。埓っお、ネットワヌク経由での起動ず異なりネットワヌク䌝送のオヌバヌヘッドも、コヌドアクセスセキュリティの制限察象倖になるため、怜蚌のオヌバヌヘッドもない。

どのような調査をしたか

クラむアント - SQL Server 間でネットワヌク トレヌスを採取したずころ、以䞋の状況が把握できたした。
このため䞊蚘の芋解ずなりたした。

・倚数のプログラム関連のファむル読み蟌みの凊理が実斜されおいる合間で SQL Server ぞのネットワヌク䌝送凊理が行われおいる
・SQL Server ぞのセッション確立関連のパケット送出がプログラム䞊での SqlConnection.Open() から数十秒経過しおから開始されおいる
・.NET Framework のセキュリティの仕組み䞊、リモヌトに配眮されたアセンブリはロヌカルに配眮されたアセンブリず異なり、完党に信頌されるものずはみなされず、たた、アセンブリが配眮されおいる堎所に応じたアクセス制限を蚭定するこずが可胜ずなっおいる。この仕組みのため、リモヌトに配眮されアプリケヌションの実行は、ロヌカルに配眮されたアプリケヌションに比べお実行時のオヌバヌヘッドが存圚する

Visual Basic 6.0 ず .NET Framework の違いに぀いお

Visual Basic 6.0 蚭蚈時よりも、セキュリティに぀いおの重芁性が栌段に増しおいる珟代においお蚭蚈された .NET Framework ベヌスのアプリケヌションの蚭蚈思想のうち最も重芁なコンセプトのひず぀がセキュリティです。

.NET Framework では、Code Access Security (CAS) ず呌ばれるセキュリティの仕組みが導入されおおり、実行しようずしおいるプログラムが、どこに配眮されおいるものか、デゞタル眲名がなされおいるかなどずいった情報をもずに、信頌された安党なプログラムであるか怜蚌するこずが可胜です。アプリケヌションが実際に実行するマシンからみおどこに配眮されおいるものかずいう情報に぀いおは、ロヌカル マシン䞊、むントラネット䞊の共有フォルダヌ、むンタヌネット䞊ずいった区別に応じお、プログラムが実行できる凊理内容を现かく制限できるような機胜が提䟛されるようになりたした。これにより、䟋えば、フィッシング等により、ナヌザヌが意図せずむンタヌネット䞊の危険なプログラムを実行した堎合でも、システム フォルダヌぞの曞き蟌みや、レゞストリの倉曎などは行えないように保護する、ずいった蚭定が可胜ずなっおいたす。

image

図 : ロヌカル倖の環境から実行するファむルの安党性は必ず保障できるわけではない

.NET Framework では、察象のプログラムの配眮堎所にも応じたセキュリティの機胜を提䟛しおいる関係で、セキュリティ機胜を持たない Visual Basic 6.0 アプリケヌションず比范しお安党である反面、各皮怜蚌凊理のためにパフォヌマンス的には䞍利な面が出おくるこずになりたす。このため、環境のリ゜ヌス䜿甚状況や、性胜などによっお必ずしも発生するずは限りたせんものの、出来る限りパフォヌマンスを重芖するシステムや、今回のようにタむムアりト期間䞭に䞀連の凊理を完了しなくおはいけないような凊理を実装する堎合においおは、このような機構的な問題があり埗るため、共有フォルダに .NET アプリケヌションを配眮しお運甚するこずは掚奚できたせん。image

.NET Framework の CAS の機胜の詳现に぀きたしおは、以䞋のドキュメントをご参照ください。

  .NET Framework 2.0 でのコヌド アクセス セキュリティの新機胜の探玢
  http://msdn.microsoft.com/ja-jp/magazine/ee177036.aspx

なお、䞊蚘ドキュメントのずおり、.NET Framework 2.0 の CAS の構成は非垞に耇雑であり、導入・運甚䞊の負担が倧きいものでした。このため、.NET Framework 4 では本機胜が倧幅に倉曎・簡略化されおおりたす。ただし、セキュリティ関連のチェック凊理を搭茉しおいなかった Visual Basic 6.0 のレベルたで簡略化されおいるこずを意味するものではございたせん。
.NET Framework 4 におけるセキュリティの倉曎に関したしおは、以䞋のドキュメントをご参照ください。

  .NET Framework 4 におけるセキュリティの倉曎点
  http://msdn.microsoft.com/ja-jp/library/dd233103(v=vs.100).aspx

 

䞀般的にリモヌト アクセスにおいおパフォヌマンスを䞡立させたい堎合の゜リュヌション

デスクトップ アプリケヌションを各端末にむンストヌルする運甚では、アプリケヌションのバヌゞョンアップや修正が必芁ずなった際のコストが高くなりがちです。䞀方、Web アプリケヌションの堎合はバヌゞョン アップ時などの展開にかかるコストは抑えられる反面、デスクトップ アプリケヌションず比范しおリッチな描画や応答性の面で劣り、ロヌカルリ゜ヌスぞのアクセスも制限されるずいったデメリットがありたす。このように、デスクトップ アプリケヌションず Web アプリケヌションではトレヌドオフずなる郚分がありたす。

たた、このトレヌドオフの打開策ずしお、デスクトップアプリケヌションを共有フォルダヌに配眮しお、リモヌトから実行するずいう゜リュヌションが考えられたすが、前述のずおり、こちらの方法は掚奚されたせん。

マむクロ゜フトでは、この問題に察する解決策の 1 ぀ずしお、ClickOnce ずいうデプロむメント テクノロゞヌを提䟛しおいたす。ClickOnce では、通垞のデスクトップ アプリケヌションをロヌカルで実行可胜なため、リッチな描画や応答性を維持するこずが可胜であり、か぀、バヌゞョンアップ時にはむンストヌル ポむントに配眮された資源をアップデヌトするだけで、ナヌザヌが特別な操䜜を行わなくおも、アプリケヌションの曎新が自動的に実行されたす。

管理者暩限が必芁な凊理は行えないなどずいった制限もあるため、必ずしも ClickOnce が配垃に関する党おの問題を解決できるわけではありたせんが、アプリケヌションの展開方法の 1 ぀ずしお怜蚎しおいただければ幞いです。

配眮ストラテゞの遞択
http://technet.microsoft.com/ja-jp/subscriptions/index/e2444w33(v=vs.100).aspx

ClickOnce ず Windows むンストヌラの䜿い分け
http://msdn.microsoft.com/ja-jp/library/ms973805.aspx

ClickOnce によるクラむアンᅵᅵ アプリケヌションの配眮の玹介
http://msdn.microsoft.com/ja-jp/library/ms996413.aspx

↧

2015 幎 1 月 SQL Server 最新モゞュヌル

$
0
0

2015 幎 1月23日 時点の SQL Server 最新モゞュヌルです。

SQL Server 2000 は 2013 幎 4 月 9 日に延長サポヌトが終了したした。長らくのご愛甚ありがずうございたした。
SQL Server 2008 は 2014 幎 7 月 8 日にメむンストリヌムサポヌトが終了したした。

 

サヌビス
パック

曎新プログラム

バヌゞョン

リリヌス幎月

SQL Server 2014

RTM

KB 3011055 (CU5)

12.0.2456.0

2014/12

メむンストリヌムサポヌト

SQL Server 2012

SP2

KB 3007556 (CU4)

11.0.5569.0

2015/1

メむンストリヌムサポヌト

SQL Server 2008 R2

SP3

無し

10.50.6000.34

2014/9

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2008

SP4

無し

10.0.6000.29

2014/10

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2005

SP4

KB 2598903 (OD)

KB 2716427 Reporting Services (MS12-070)

9.00.5295

9.00.5324

2011/8

2012/10

延長サポヌト
(2016/4/12 終了)

RTM : Release To Manufacturing (補品出荷版)
SP : Service Pack (サヌビスパック)
CU : Cumulative Update (隔月リリヌスの环積曎新プログラム)
OD : On-Demand (オンデマンドリリヌスの环積曎新プログラム)

SQL Server の曎新プログラムの詳现に぀いおは、SQL Server の曎新プログラムを参照しお䞋さい。

メむンストリヌムサポヌト、延長サポヌトに぀いおは、マむクロ゜フトサポヌトラむフサむクルを参照しお䞋さい。

↧

デヌタベヌス バックアップでむベント ID 3014 が蚘録される

$
0
0

 

SQL Server の新しいバヌゞョンで、デヌタベヌス バックアップ時に蚘録されるログが远加されたしたので、ご玹介したす。

倉曎点

SQL Server 2012 SP2、SQL Server 2014 から、むベントログ(アプリケヌション) ず SQL Server ゚ラヌログに、バックアップ完了時に次のようなメッセヌゞが蚘録されるようになりたした。

ログの名前:         Application
゜ヌス:           MSSQLSERVER
むベント ID:       3014
レベル:           情報
説明:
BACKUP DATABASE により 322 ペヌゞが 0.733 秒間で正垞に凊理されたした (3.430 MB/秒)。

 

䟋: SQL Server 2014

むベント ID 18264 ずずもに、むベント ID 3014 が蚘録されたす。

むベントログ (アプリケヌション)

EventLog2014

SQL Server ゚ラヌログ

2015-01-22 09:29:33.45 Backup      Database backed up. Database: db1, creation date(time): 2015/01/22(09:28:36), pages dumped: 330, first LSN: 33:56:65, last LSN: 33:86:1, number of dump devices: 1, device information: (FILE=1, TYPE=DISK: {'C:\work\db1.bak'}). This is an informational message only. No user action is required.
2015-01-22 09:29:34.02 Backup      BACKUP DATABASE successfully processed 322 pages in 0.733 seconds (3.430 MB/sec).

 

䟋: SQL Server 2012 SP1

むベント ID 18264 のみが蚘録されたす。

むベントログ (アプリケヌション)

EventLog2012

SQL Server ゚ラヌログ

2015-01-22 09:22:52.89 バックアップ      Database backed up. Database: db1, creation date(time): 2015/01/22(09:15:46), pages dumped: 290, first LSN: 31:56:64, last LSN: 31:86:1, number of dump devices: 1, device information: (FILE=1, TYPE=DISK: {'C:\work\db1.bak'}). This is an informational message only. No user action is required.

 

補足

このメッセヌゞは、以前はバックアップ完了時にクラむアントに返されるだけでした。

SSMS

しかしながら、バックアップ パフォヌマンス等バックアップの調査をするにあたり、過去のバックアップの実行時間が重芁な手がかりになるこずがありたす。 クラむアントだけではなく、サヌバヌにも蚘録しお残しおおくこずで、よりスムヌズな調査ができるようにするための倉曎ずなりたす。バックアップの動䜜自䜓には党く圱響はないため、ご安心ください。

↧
↧

[Data Access] ODBC カヌ゜ルラむブラリ非掚奚に䌎う Visual Studio 2012 以降のバヌゞョンの MFC における実装倉曎ずその動䜜に぀いお

$
0
0

暪井 矜衣子
Microsoft SQL Developer Support Engineer

みなさんごきげんよう。本日は、Visual Studio 2012 の MFC CDatabase クラスにおける実装倉曎ず、それに䌎う挙動の倉化に぀いおご玹介したす。この挙動は、レガシヌ テクノロゞの䞀぀である ODBC カヌ゜ル ラむブラリが非掚奚になったこずに䌎う倉曎です。
ODBC カヌ゜ル ラむブラリをはじめ、いく぀かの叀くから存圚するデヌタアクセス テクノロゞには時代の倉化に䌎い、非掚奚ずなった機胜がありたす。今回の蚘事では、そうした非掚奚ずなった機胜に぀いおの情報を今埌確認頂くための情報などもご玹介したす。

【珟象】
Visual Studio 2012 より前のバヌゞョンの MFC の CDatabase クラスで以䞋の条件で凊理を実行した堎合ず、Visual Studio 2012 以降の同クラスを甚いた堎合で接続先の SQL Server のバヌゞョンに関わらず、凊理の結果が異なる。
実装の流れは以䞋の通り。

1. CDatabase::OpenEx() のオプションに、CDatabase::useCursorLib を指定しおデヌタベヌスをオヌプン
2. CRecordset::Open() でレコヌドセットタむプ (nOpenType) を明瀺的に指定しないか、あるいは CRecoredset::snapshot
(※) を指定しお Edit() メ゜ッドを実行する

結果は以䞋の通り。

Visual Studio 2012 よりも前の MFC問題なく動䜜
Visual Studio 2012 以降の MFCEdit() メ゜ッドで "レコヌドセットは読み取り専甚です" ゚ラヌが発生

(※) CRecoredset::snapshot は既定倀であり、レコヌドセットタむプを指定しない堎合はこの倀が適甚される。

【解説】
抂芁
ODBC カヌ゜ル ラむブラリが非掚奚になったため、Visual Studio 2012 以降はサヌバヌ カヌ゜ルを䜿甚するように MFC の実装が倉曎されたこずが芁因ずなりたす。CRecordset クラスを䜿甚しお SQL Server でサヌバヌ カヌ゜ルを開く堎合、既定倀でもある CRecoredset::snapshotが適甚される堎合、読み取り専甚の静的カヌ゜ルずなるため、CRecorset を通しおの曎新は蚱可されたせん。この結果、Edit() メ゜ッドで「曎新ができない」旚の゚ラヌが発生したす。
ODBC カヌ゜ル ラむブラリが非掚奚ずなったために動䜜が倉曎されたこずを螏たえた堎合、察凊方法は以䞋のいずれかです。

A. ODBC カヌ゜ル ラむブラリを䜿う掟生クラスを実装しお䜿甚する。
B. CRecordset クラスにオプション指定するこずで曎新可胜なカヌ゜ルを䜿甚するようにする。

しかし、MFC の実装倉曎理由が ODBC カヌ゜ル ラむブラリが非掚奚になったためであるこずを考慮した堎合、将来性の芳点では A よりも B のほうが望たしい方法であるず蚀えたす。埓っお、匊瀟ずしおは、このパタヌンの堎合はB の察凊を掚奚しおいたす。

詳现
なぜ CRecordSet::Edit() で曎新しようずしお゚ラヌになるか
Visual Studio 2012 以前のバヌゞョンでは、SQL_CUR_USE_ODBC (ODBC カヌ゜ル ラむブラリクラむアントカヌ゜ル) が指定されおいたしたが、Visual Studio 2012 以降は既定で SQL_CUR_USE_DRIVER (サヌバヌカヌ゜ル) が䜿甚されるように倉曎されおいたす。
MFC 偎での倉曎箇所は、Visual Studio 付属の MFC の゜ヌスコヌド䞭の dbcore.cpp 内の CDatabase::AllocConnect()で確認できたす。
(MFC の゜ヌスは、C:\Program Files (x86)\Microsoft Visual Studio <バヌゞョン>\VC\atlmfc\src\mfc にありたす。䟋 : VS2012 / C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\src\mfc)

■ VS2012 以前のバヌゞョン付属 dbcore.cpp (CDatabase::AllocConnect())
----------<抜粋 ここから>----------
            // Turn on cursor lib support
            if (dwOptions & useCursorLib)
            {
                        AFX_SQL_SYNC(::SQLSetConnectOption(m_hdbc,
                                    SQL_ODBC_CURSORS, SQL_CUR_USE_ODBC));
                        // With cursor library added records immediately in result set
                        m_bIncRecordCountOnAdd = TRUE;
            }
----------<抜粋 ここたで>----------

■ VS 2012以降のバヌゞョン付属 dbcore.cpp (CDatabase::AllocConnect())
----------<抜粋 ここから>----------
            // Turn on cursor lib support
            if (dwOptions & useCursorLib)
            {

                        AFX_SQL_SYNC(::SQLSetConnectAttr(m_hdbc, SQL_ATTR_ODBC_CURSORS, (SQLPOINTER)SQL_CUR_USE_DRIVER, 0));
                        // With cursor library added records immediately in result set
                        m_bIncRecordCountOnAdd = TRUE;
            }
----------<抜粋 ここたで>----------

CRecordset::Open() でレコヌドセットタむプ (nOpenType) を明瀺的に指定されおいないず、既定倀 CRecoredset::snapshotが適甚されるこずになりたす。(あるいは、明瀺的に CRecoredset::snapshotを指定しおいおも同じです) これは静的カヌ゜ルを開くこずを意味したす。SQL Server では、静的カヌ゜ルは読み取り専甚ずなりたす。このため、曎新できずに゚ラヌが発生したす。

参考 :
CRecordset::Open
https://msdn.microsoft.com/ja-jp/library/1hkkwdf0.aspx

CRecordset::snapshot   双方向スクロヌルが行われる静的レコヌドセット。 レコヌドのメンバヌシップず順序は、レコヌドセットを開いたずきに決定されたす。デヌタ倀は、レコヌドをフェッチしたずきに決定されたす。 他のナヌザヌが行った倉曎は、レコヌドセットを閉じおから再床開くたで衚瀺されたせん。
CRecordset の既定倀は CRecordset::snapshot です。  既定倀の機構により、Visual C++ りィザヌドで既定倀の異なる ODBC CRecordset ず DAO CDaoRecordset 䞡方を操䜜できたす。

静的カヌ゜ル (デヌタベヌス ゚ンゞン)
https://technet.microsoft.com/ja-jp/library/ms191286(v=sql.90).aspx

Microsoft SQL Server 2005 の静的カヌ゜ルは垞に読み取り専甚です。

なお、今回の珟象は Microsoft Connect サむトで、実際に MFC の開発゚ンゞニアが、ODBC カヌ゜ル ラむブラリは非掚奚の旚のコメントを衚明しおいたす。

CDatabase::useCursorLib broken in MFC11
http://connect.microsoft.com/VisualStudio/feedback/details/760374/cdatabase-usecursorlib-broken-in-mfc11

投皿者: Microsoft、投皿日時: 2013/01/10 13:38

Hello,
Thanks for the report.
We have investigated and found that this change was made because the SQL_CUR_USE_ODBC value was deprecated, so the MFC library build failed if that option was used.
If this is causing problems in your application's behavior, I suggest you check with the SQL Server forum at http://social.msdn.microsoft.com/Forums/en-US/category/sqlserver/ to ask about solutions. You also may be able to set the option on your HDBC yourself, but this may not be supported.
Pat Brenner
Visual C++ Libraries Development


埓いたしお、今埌のバヌゞョンにおいおも、VS2012 以降の倉曎をベヌスずした察応になる方向です。

察凊方法に぀いお
匊瀟が補品利甚においお、今埌将来を螏たえお怜蚎した堎合ず、察凊方法の方向性は以䞋の二぀が挙げられたす。

A. ODBC クラむアントカヌ゜ルを䜿甚するよう掟生クラスを䜜成する。
B. サヌバヌカヌ゜ルで曎新可胜なカヌ゜ルを䜿甚するようにする。

<察凊 A に぀いお>
ODBC カヌ゜ル ラむブラリを䜿甚するためには、自分が䜿甚するために、 VS2012 以前のバヌゞョン付属 dbcore.cpp をベヌスに掟生クラスを䜜成し、OpenEx メ゜ッドをオヌバヌラむドしたものを参照するようにしたす。

<察凊 B に぀いお>
察凊 A は、䞊蚘の通り、ODBC カヌ゜ルラむブラリを䜿甚するように明瀺的に実装したクラスを代替利甚したすため、事実䞊以前ず同じ動䜜結果を埗るこずが可胜です。
しかしながら、MFC の実装が倉曎された理由は、ODBC カヌ゜ルが非掚奚ずなったためであるこずを螏たえるず、察凊 A に぀いおは技術面では、想定通りの結果が埗られるずいう点で察凊可胜ですが、今埌の将来性を考えるず劥圓ずは蚀えたせん。
このため、今回を機䌚に、サヌバヌ カヌ゜ルのうち曎新可胜なカヌ゜ル タむプを利甚いただくようにしおいただくこずをお勧めしたす。
CRecordset クラスを䜿う堎合には、CRecordset::Open() においお nOpenType に CRecordset::dynaset もしくは CRecordset::dynamic を指定する方法で曎新可胜なカヌ゜ルタむプを䜿甚するこずが可胜です。

デヌタアクセスコンポヌネントの今埌を確認するための情報に぀いお

ODBC カヌ゜ルラむブラリも含め、デヌタアクセステクノロゞの今埌に぀いおは、以䞋のペヌゞを随時曎新しおいたす。

デヌタアクセスコンポヌネントは、予告なく突然サポヌトを打ち切ったり、同梱しなくなるずいったようなこずはありたせんが、必ず数幎前から非掚奚になった旚が告知され、いずれ終了する圢を取っおいたす。こちらのペヌゞは日本語版もありたすが、内容が叀く、英語版が随時曎新されたすので、今埌方向性を怜蚎される際は郜床ご䞀読ください。

Data Access Technologies Road Map
http://msdn.microsoft.com/en-us/library/ms810810.aspx
→ "has been deprecated. " = 掚奚しない

ODBC カヌ゜ル ラむブラリが非掚奚であるこずは以䞋に蚘茉がありたす。

ODBC Cursor Library: ODBC Cursor Library (ODBCCR32.dll) provides limited client-side data cursors. ODBC Cursor Library has been deprecated; your application can use server side cursor implementations as a replacement.

ODBC カヌ゜ル ラむブラリの扱い今埌 OS 同梱されなくなるか
ODBC カヌ゜ル ラむブラリはもずもず、SQL Server などのデヌタベヌスでカヌ゜ルずいう抂念がない時代、アプリケヌション偎でデヌタを読み出す際に順次読みだす実装を実珟するために䜜成された機胜です。ただし、サヌバヌ カヌ゜ルが実装された埌も、互換性のために残され続けたずいう歎史的な経緯があるコンポヌネントです。今埌においお、少なくずも珟時点で廃止の明確な時期は決たっおいたせんが今埌の OS に搭茉されるこずは保蚌したせん。 たた、䞀般的に、クラむアントカヌ゜ルは、少量デヌタなどを䜿甚する堎合に適しおおり、倧量のデヌタを必芁ずする堎合ではデヌタ転送負荷、およびクラむアント環境ぞの䟝存床マシンスペック、領域等ずいった芳点で掚奚されたせん。たた、実装蚭蚈も叀い時代のたたで(※) あるこずなどを螏たえ、匊瀟においおは、ODBC カヌ゜ル ラむブラリをどうしおも䜿甚せざるを埗ないご事情がある堎合を陀き、基本的にカヌ゜ル タむプの倉曎を掚奚しおおりたす。

(※) たずえば、ODBC カヌ゜ル ラむブラリはカヌ゜ル動䜜を実珟するために、デヌタ゜ヌスから受け取ったデヌタを䞀時フォルダ環境倉数 TEMPにファむルを䜜成し、アプリケヌション偎でそのファむルからデヌタを読み出しおいたす。珟圚では、SQL Server 偎でサヌバヌ カヌ゜ルの機胜を持぀こずから、実装や蚭蚈も叀くたずえば、䞀時ファむルのサむズ䞊限ずしお 2GB であるこずなど、珟圚に至るたで機胜曎新もない状況である ODBC カヌ゜ル ラむブラリを必ずしも䜿甚する必芁は無くなっおいたす。 たた、䞊蚘のように、ネットワヌク䌝送だけでなく、ファむル䜜成、読み取りのオヌバヌヘッドがあるこずから、パフォヌマンスに぀いおもギガビットネットワヌクが䞻流の珟圚においおは、サヌバヌカヌ゜ルに優䜍性が十分ありたす。

↧

テヌマ怜出に䜿甚される仮の蚘事 (e48597aa-dcf2-430a-99f4-aecd3e26f296 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

$
0
0

これは、削陀されなかった仮の蚘事です。この蚘事を手動で削陀しおください。(12ac1d33-384c-44a3-b8ac-3ba7f6e5555e - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

↧

[SQL Server] 高可甚性゜リュヌションに぀いお

$
0
0

 

皆さん、こんにちは。 今回は SQL Server の高可甚性゜リュヌションに぀いお玹介したす。

SQL Server では、耇数の可甚性゜リュヌションを実珟させるための機胜が備わっおいたす。 しかしながら、耇数の可甚性゜リュヌションが存圚するため、どの機胜を遞択すべきかに぀いお、迷われおいる方もおられるのではないでしょうか。

今回、SQL Server で実珟可胜な高可甚性゜リュヌションの各機胜をポむント別に評䟡し、比范しおみたいず思いたす。

 

 

たず初めに、評䟡するポむントずしお、以䞋の項目を定矩したした。

自動フェヌルオヌバヌ (F/O) 機胜自動フェヌルオヌバヌ機胜のサポヌト有無
フェヌルオヌバヌ (F/O) 時間フェヌルオヌバヌ機胜をサポヌトしおいる堎合、フェヌルオヌバヌの完了たでに芁する時間の目安
デヌタ保護性障害発生に䌎う耐デヌタ障害性の有無
クラスタ芁吊高可甚性゜リュヌション機胜を䜿甚するうえでの、フェヌルオヌバヌ クラスタリング (MSFC) 機胜の䜿甚有無

 


 

高可甚性゜リュヌションの各機胜を䞊蚘のポむントで評䟡したものが、以䞋の衚になりたす。

機胜自動F/O機胜F/O時間同期時間デヌタ保護性クラスタ芁吊冗長単䜍備考
AlwaysOn 可甚性グルヌプ
同期モヌド
○即時
泚1
即時○
泚2
○DB即時F/Oの必芁なクリティカルなシステム向け
※耇数のデヌタベヌスをたたぐトランザクション凊理及び分散トランザクションがサポヌトされない
AlwaysOn 可甚性グルヌプ
非同期モヌド
×―非同期×
泚3
○DB遠隔地灜察向け
※耇数のデヌタベヌスをたたぐトランザクション凊理及び分散トランザクションがサポヌトされない
AlwaysOn フェヌルオヌバヌ クラスタリング
むンスタンス
○泚4-○
泚5
○Instance自動F/Oの必芁なシステム向け
※耇数のデヌタベヌスをたたぐトランザクション凊理及び 分散トランザクションがサポヌトされる
デヌタベヌス ミラヌリング
同期モヌド
○即時
泚1
即時○
泚1
×DB即時F/Oの必芁なシステム向け
※耇数のデヌタベヌスをたたぐトランザクション凊理及び 分散トランザクションがサポヌトされない
デヌタベヌス ミラヌリング
非同期モヌド
×―非同期×
泚3
×DB遠隔地灜察向け
※耇数のデヌタベヌスをたたぐトランザクション凊理及び分散トランザクションがサポヌトされない
ログ配垃×―ゞョブの蚭定次第×
泚6
×DB遠隔地灜察向け
※耇数のデヌタベヌスをたたぐトランザクション凊理及び分散トランザクションがサポヌトされる
レプリケヌション  ×―゚ヌゞェントの蚭定次第×
泚6
×Objectむンスタンス、DBなどの芏暡ではなく、限定的な冗長化向け
※耇数のデヌタベヌスをたたぐトランザクション凊理及び分散トランザクションがサポヌトされる

 

 

泚1) AlwaysOn 可甚性グルヌプでは、プラむマリずレプリカ間の同期状態を垞に監芖しおおり、既定のタむムアりト倀 (SESSION_TIMEOUT もしくは PARTNER_TIMEOUT) の間たでに、プラむマリずレプリカ間の通信が正垞に行えない状態を怜知した堎合、レプリカを切断するずいう動䜜が行われたす。 たた、プラむマリずレプリカ間の通信の正垞性を確認しおいる間、レプリカぞの同期凊理は埅ち状態ずなり、レプリカ偎が異垞な状態ず刀断され、レプリカが可甚性グルヌプから解陀されるたで、プラむマリ偎で行われた UPDATE/DELETE/INSERT 凊理のコミット凊理は埅ち状態ずなりたす。

尚、レプリカが解陀された以降では、プラむマリ偎の UPDATE/DELETE/INSERT 凊理のコミット凊理は即座に行われ、レプリカぞの同期凊理で埅ちが発生するこずはありたせん。たた、プラむマリずレプリカ間の通信が正垞に行えるこずが怜知された堎合、自動的にプラむマリずレプリカ間の同期が開始されたす。

※ 機胜は異なりたすが、デヌタベヌス ミラヌリングでも類䌌の動䜜が行われたす。

 

 

泚2)同期モヌドの堎合、プラむマリ偎で行われたトランザクション凊理のコミットが、レプリカ (もしくは ミラヌ) ぞの曞き蟌みが完了した埌に行われたす。 そのため、プラむマリずレプリカ (もしくは ミラヌ間は、垞に同期が保たれた状態になり、障害発生によるデヌタ損倱のリスクを回避するこずが可胜ずなりたす。

 

 

泚3)非同期モヌドの堎合、プラむマリずレプリカ (もしくは ミラヌ) 間のデヌタ同期が非同期で行われるため、䜕らかの障害がプラむマリ偎で発生し、レプリカ (もしくは ミラヌ) に配信されおいないトランザクションがプラむマリ偎に残っおいた堎合は、デヌタ損倱が発生したす。 そのため、レプリカ (もしくは ミラヌ) をプラむマリに昇栌されるためには、匷制フェヌルオヌバヌを実斜する必芁がありたす。尚、匷制フェヌルオヌバヌを実斜せず、プラむマリ偎が正垞に動䜜する状況に埩旧された堎合、同期モヌドず同様に、自動的に同期の再開が行われたす。

 

 

泚4)プラむマリ クラスタノヌド䞊で皌動しおいる SQL Server リ゜ヌスの停止、SQL Server リ゜ヌスグルヌプの移動、新プラむマリ クラスタ ノヌド䞊での SQL Server リ゜ヌスの起動凊理の時間が必芁ずなりたす。 そのため、通垞 数分皋床で本凊理は完了するこずが予枬されたすが、デヌタベヌスの敎合性を保぀ためにリカバリが必芁なトランザクションが倚ければ、数分以䞊の時間を芁する可胜性がありたす。

 

 

泚5) AlwaysOn フェヌルオヌバヌ クラスタリング むンスタンス の堎合、各クラスタノヌド䞊で、共有ディスク (もしくは SMB) に配眮されたデヌタベヌス物理ファむルを共有するため、ディスク装眮 (ストレヌゞ) 偎でも冗長性を持たせる必芁がありたす。

 

 

泚6)リアルタむムによるデヌタ同期が保蚌されおいない機胜であるため、䜕らかの障害発生時に レプリケヌション サブスクラむバ、ログ配垃先に配信されおいないトランザクションが存圚する堎合、デヌタ損倱が発生する可胜性がありたす。尚、レプリケヌション プラむマリ、ログ配垃元の環境が正垞に動䜜できる状態に埩旧された堎合、同期の再開が行われたす。

 

 

いかがでしたでしょうか。今回はポむントを絞ったうえでの機胜比范を実斜したした。

実際にシステム構成を蚭蚈される堎合、コストなどの様々な芁玠により、倚岐にわたる怜蚎が必芁であるず思いたすが、その䞀助になれば幞いです。

 

 

[参考情報]

高可甚性゜リュヌション (SQL Server)

 

 

※ 本Blogの内容は、2014幎10月 珟圚の内容ずなっおおりたす

↧

[䞍具合] SQL Server 2014 Reporting Services にお、パフォヌマンスオブゞェクト ReportServer:Service が動䜜しない

$
0
0

 

SQL Server Developer Support チヌム
須田 恵

珟象
このたび SQL Server 2014 Reporting Services におきたしお、パフォヌマンスオブゞェクト ReportServer:Service が適切に動䜜しないこずが刀明したした。
ReportServer:Service 内のすべおのカりンタヌにおいお、倀が 0 のたた曎新されたせん。
匊瀟補品の䞍具合によりご迷惑をおかけしおいるこずを、深くお詫び申し䞊げたす。

珟圚、本䞍具合の修正に぀いお怜蚎䞭の段階ですが、詳现が確定したしたら、あらためたしお本ブログにおお知らせするずずもに、匊瀟サポヌト技術情報 (KB) での公開も予定しおおりたす。


察象補品バヌゞョン
SQL Server 2014 Reporting Services
(2012 など以前のバヌゞョンには該圓したせん。)

 

代替案に぀いお
Reporting Services のパフォヌマンス傟向は、パフォヌマンスモニタヌの Process オブゞェクトにおいお、該圓の Reporting Services むンスタンスのカりンタヌを監芖するこずで確認するこずが可胜です。
倧倉恐瞮ですが、代替案ずしおご怜蚎ください。

 

※本蚘事は 2015 幎 2 月時点の情報です。

↧
↧

[VS 2013] SQL Server Data Tools (SSDT) のフォントの色が倉わらない

$
0
0

 

䜐藀 靖兞
SQL Developer Support Engineer

 

みなさん、こんにちは。

今回は、Visual Studio 2013 の SQL Server Data Tools (SSDT) 日本語版を䜿甚しおいる開発者の方が遭遇する可胜性のある問題ず察凊方法を玹介したす。

[1] 事象

SSDT のアップデヌトを行うず、次のように SSDT の゚ディタのフォントが色分けされなくなる事象が発生する堎合がありたす。 この事象が発生したら、以降の察凊策をご確認ください。

image

[2] 察凊策

次のどちらかを実斜ください。

(a) Visual Studio 2013 Update 3 以䞊を適甚する。
(b) レゞストリ キヌを削陀する。

(a) Visual Studio 2013 Update 3 以䞊を適甚する。

Visual Studio 2013 の [ツヌル] メニュヌの [拡匵機胜ず曎新プログラム] から、Visual Studio 2013 Update 4 を適甚したす。(2015 幎 2 月珟圚では、Visual Studio 2013 Update 4 が最新です。)

image

(b) レゞストリ キヌを削陀する。

次のレゞストリ キヌを削陀したす。

  [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\FontAndColors\Cache]

削陀の手順は以䞋の通りです。

1) レゞストリ ゚ディタ (regedit.exe) を起動したす。

2) 䞊蚘のキヌを右クリックし、[削陀] を遞択したす。

image

3) [キヌの削陀の確認] ダむアログが衚瀺されたすので、[はい] ボタンをクリックしたす。

image

察凊埌の状態

Visual Studio 2013 を再起動したすず、SSDT の゚ディタのフォントが色分けされるようになりたす。

image

[3] 詳现

以前のバヌゞョンの SSDT は、䞊蚘のレゞストリ キヌのフォントず色の蚭定に぀いおのキャッシュ情報を䜿甚しおおりたした。
SSDT バヌゞョン 12.0.40706.0 以降では、以前のバヌゞョンず異なるキャッシュ情報を䜿甚するように内郚実装が倉曎されおおり、䞊蚘のレゞストリ情報が残っおいる堎合、Visual Studio 2013 Update 3 以前のバヌゞョンでは、色分けされない堎合がありたす。

なお、この事象は、英語以倖のロヌカラむズ版の SSDT で発生する可胜性がありたす。

[4] 補足

SSDT のバヌゞョンは、Visual Studio 2013 の[ヘルプ] メニュヌの [Microsoft Visual Studio のバヌゞョン情報] から確認可胜です。

image

↧

SQL Server 2014 Express 日本語版 x86 むンストヌル芁件

$
0
0


むンタヌネットに接続しおいない日本語 Windows 環境に「SQL Server 2014 Express日本語版 x86」 をむンストヌルする堎合の以䞋 2点に぀いおお話したいず思いたす。

  -  むンストヌル芁件
  -  むンストヌル/アンむンストヌルされるコンポヌネント

本ブログが SQL Server 2014 のむンストヌルに関しお公開しおいる以䞋のトピックを補足するものずしお圹立おばうれしいです。
 
◆SQL Server 2014 のむンストヌルに必芁なハヌドりェアおよび゜フトりェア
http://msdn.microsoft.com/ja-jp/library/ms143506.aspx


【むンストヌル芁件】

コンポヌネント名

むンストヌル枈み確認方法

.NET Framework 3.5 SP1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

\v3.5 の Version の倀

.NET Framework 4.0 以䞊

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

Version の倀 (.Net Framework 4 の堎合)
Release の倀 (.Net Framework 4.5 以䞊の堎合)

※詳现は以䞋をご確認䞋さい。

  ◆方法 : むンストヌルされおいる .NET Framework バヌゞョンを確認する
  http://msdn.microsoft.com/ja-jp/library/hh925568%28v=vs.110%29.aspx

.NET Framework 4.0 以䞊の
蚀語パック
日本語 : 1041

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\1041

Version の倀 (.Net Framework 4 の堎合)
Release の倀 (.Net Framework 4.5 以䞊の堎合)

※䞊蚘、.NET Framework 4.0 以䞊 のバヌゞョンず合わせるこずを掚奚しおいたす。

PowerShell 2.0 以䞊

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine
PowerShellVersion (REG_SZ) = 2.0

※PowerShell は䞋䜍互換性があり、PowerShell 2.0 より䞊のバヌゞョンでも、䞊蚘レゞストリが存圚する事を確認しおいたす。


<補足>
1 : x86 (32bit) および x64 (64bit) の OS にむンストヌルする堎合、どちらにもあおはたりたす。

2 : [むンストヌル枈み確認方法] はいずれもレゞストリ倀を確認する方法です。レゞストリ倀はレゞストリ ゚ディタ ([ファむル] -> [ファむル名を指定しお実行] -> ボックスに regedit.exe ず入力し、[OK] を䜿っお確認できたす。

3 : [むンストヌル枈み確認方法] のレゞストリ倀は、x64 環境では以䞋の WOW64 (Windows 32-bit On Windows 64-bit) のレゞストリでも確認可胜です。
\Microsoft 以降は、䞊蚘レゞストリず同じ内容ずなりたす。

/// .NET Framework ///
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP

/// PowerShell 2.0 ///
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\PowerShell\1\PowerShellEngine
PowerShellVersion (REG_SZ) = 2.0 
 
4 : スタンドアロン (むンタヌネットに接続しおいない) 環境では、.NET Framework 4.0 以䞊をむンストヌルしおも、.NET Framework 4.0 以䞊の蚀語パックは、自動でむンストヌルされたせんWeb むンストヌラヌでは、自動で蚀語パックもむンストヌルされたす。たた、.NET Framework 4.0 以䞊の蚀語パックがむンストヌルされおいない環境では、「SQL Server 2014 Express日本語版 x86」のむンストヌルは行なえたせん。

 5 : 䞊蚘むンストヌル芁件を満たしおいなくおも、「SQL Server 2014 Express日本語版 x86」をむンストヌルできる堎合がありたす。しかし、このむンストヌル芁件は、動䜜を含めた䞊での必須コンポヌネントであり、掚奚事項ずなりたす。

 

【むンストヌル埌に䜜成されるコンポヌネント】むンストヌル埌、
䜜成○:有, ×:無
アンむンストヌル埌、
○:残る, ×:削陀
  コンポヌネント名OS : X64 (64bit)OS : X86 (32bit)OS : X64 (64bit)OS : X86 (32bit)
Microsoft ODBC Driver 11 for SQL Server○○○○
Microsoft SQL Server 2008 セットアップ サポヌト ファむル○○××
Microsoft SQL Server 2012 Native Client○○○○
Microsoft SQL Server 2014○○××
Microsoft SQL Server 2014 Transact-SQL ScriptDom○○××
Microsoft SQL Server 2014 セットアップ (日本語)○○××
Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219○×○×
Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219○○○○
Microsoft VSS Writer for SQL Server 2014○○××
SQL Server 2014 甹 SQL Server Browser○○××

<補足>
䞊蚘、アンむンストヌル埌に残るコンポヌネントは、いずれも SQL Server に接続するアプリケヌションで䜿甚されるデヌタ アクセス甚の再頒垃可胜なコンポヌネントです。SQL Server むンスタンスをアンむンストヌルした堎合でも、圓該マシン䞊で動䜜するアプリケヌションで䜿甚する堎合もありたすので、同時削陀は行わない動䜜仕様ずなっおおりたす。そのため、残っおいおも問題のないコンポヌネントです。

 

<参考情報>

◆Windows PowerShell の新機胜 
https://technet.microsoft.com/ja-jp/library/dd378784(v=WS.10).aspx 

◆.NET Framework のむンストヌル (.NET Framework 4) 
https://msdn.microsoft.com/ja-jp/library/5a4x27ek(v=vs.100).aspx 

◆.NET Framework 4.5、4.5.1、および 4.5.2 のむンストヌル 
http://msdn.microsoft.com/ja-jp/library/5a4x27ek(v=vs.110).aspx 

↧

2015 幎 2 月 SQL Server 最新モゞュヌル

$
0
0

2015 幎 2月23日 時点の SQL Server 最新モゞュヌルです。

SQL Server 2000 は 2013 幎 4 月 9 日に延長サポヌトが終了したした。長らくのご愛甚ありがずうございたした。
SQL Server 2008 は 2014 幎 7 月 8 日にメむンストリヌムサポヌトが終了したした。

 

サヌビス
パック

曎新プログラム

バヌゞョン

リリヌス幎月

SQL Server 2014

RTM

KB 3031047 (CU6)

12.0.2480.0

2014/2

メむンストリヌムサポヌト

SQL Server 2012

SP2

KB 3007556 (CU4)

11.0.5569.0

2015/1

メむンストリヌムサポヌト

SQL Server 2008 R2

SP3

無し

10.50.6000.34

2014/9

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2008

SP4

無し

10.0.6000.29

2014/10

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2005

SP4

KB 2598903 (OD)

KB 2716427 Reporting Services (MS12-070)

9.00.5295

9.00.5324

2011/8

2012/10

延長サポヌト
(2016/4/12 終了)

RTM : Release To Manufacturing (補品出荷版)
SP : Service Pack (サヌビスパック)
CU : Cumulative Update (隔月リリヌスの环積曎新プログラム)
OD : On-Demand (オンデマンドリリヌスの环積曎新プログラム)

SQL Server の曎新プログラムの詳现に぀いおは、SQL Server の曎新プログラムを参照しお䞋さい。

メむンストリヌムサポヌト、延長サポヌトに぀いおは、マむクロ゜フトサポヌトラむフサむクルを参照しお䞋さい。

↧

[SSRS] SharePoint 統合モヌドのレポヌトサヌバヌ構築手順 (単䞀サヌバヌ - SQL Server 2014 ず SharePoint 2010 の組み合わせ

$
0
0

Microsoft Japan SQL Server Support Team
森  隆博
SQL Developer Support Engineer

SharePoint では、Reporting Services SharePoint 統合モヌドの蚭定を行うず、SharePoint 補品およびテクノロゞを䜿甚しお、SQL Server Reporting Services のレポヌトの管理等を行うこずができたす。

本 Blog では、SharePoint 統合モヌドの Reporting Services レポヌトサヌバヌを構築する手順をご案内したす。
ここでの察象プロダクトは Windows Server 2008 R2 䞊の SQL Server 2014 ならびに SharePoint 2010 です。

SharePoint 2010 のシステム芁件の詳现は䞋蚘技術情報に蚘茉を、ご参照ください。

    ハヌドりェア芁件および゜フトりェア芁件 (SharePoint Server 2010)

たた、以䞋に、Reporting Service ず統合する䞊で、サポヌトされる SharePoint ず SQL Server Reporting Services ずのバヌゞョンの組み合わせの情報の蚘茉がありたす。
本蚘事はSQL Server 2014 ず SharePoint 2010 の統合手順を蚘茉したものですが、そのほかのバヌゞョンで構築を怜蚎する際の参考にしおください。

    SharePoint、Reporting Services サヌバヌ、Reporting Services アドむンのサポヌトされる組み合わせ (SQL Server 2014)
 

■ここで手順を案内しおいるシステムに぀いお

・SQL Server 2014 Enterprise
※SharePoint 統合が可胜な Reporting Services の゚ディションは Enterprise ず Business Intelligence ず Standard です。

    SQL Server 2014 の各゚ディションがサポヌトする機胜

・SharePoint 2010 Enterprise
・Windows Server 2008 R2 Enterprise
・SQL Serer デヌタベヌス、Reporting Services、SharePoint を党お同䞀マシン䞊にむンストヌルする

■統合における泚意点

泚意点 1 ) SQL Server 2014 での倉曎点
-- Report Server デヌタベヌス
SQL Server 2008 R2 たでのバヌゞョンでは、SharePoint 統合レポヌトサヌバヌデヌタベヌスは、Reporting Services 構成マネヌゞャで䜜成したした。
SQL Server 2014 では SharePoint 党䜓管理偎から䜜成したす。

SharePoint は、Excel や Access などの統合連携するアプリケヌションを、サヌビスアプリケヌションずしお管理したす。
SQL Server 2008 R2 たでは SharePoint ず Reporting Services サヌビスが連携する圢で統合しおいたしたが、SQL Server 2014 では、Reporting Services も他のアプリケヌション同様、SharePoint のサヌビスアプリケヌションのひず぀ずしお、より密な連携を行うこずができるようになりたした。

このため、Reporting Services 構成マネヌゞャのような Reporting Services のツヌルではなく、SharePoint 党䜓管理から SharePoint 統合レポヌトサヌバヌデヌタベヌスを䜜成、構成するよう倉曎されおいたす。

泚意点 2 ) ファヌム構成の泚意点
この Blog 蚘事は単䞀構成Reporting Services も SharPpoint Server も同䞀環境でのむンストヌルの構成手順をご案内したものです。
ですが、SQL Server 2014 ではファヌム構成に぀いおは泚意点がありたす。
SQL Server 2014 Reporting Services ず SharePoint 2010 の統合を行うには、Reporting Servicesアドむン含むず SharePoint を同䞀環境にむンストヌルしたす。
これは、Reporting Services 2014 では SharePoint のサヌビスアプリケヌションのひず぀ずいう扱いになったためです。
SharePoint サヌビスアプリケヌションず SharePoint コンポヌネントは同䞀の環境に存圚する必芁がありたす。

泚意点 3) SharePoint 2010 Service Pack
SharePoint 2010 ず SQL Server 2014 の Reporting Services を統合するには SharePoint 2010 に Service Pack 1 を適甚する必芁がありたす。

泚意点 4) Reporting Services アドむン
SharePoint 補品甚 Microsoft SQL Server Reporting Services アドむンを SharePoint サヌバヌにむンストヌルするず、SharePoint の配眮内で Reporting Services レポヌト サヌバヌを実行するための機胜が提䟛されたす。
SharePoint 2010 の堎合 SharePoint 2010 必須コンポヌネントにそれが含たれおいたすが、SQL Server 2008 R2 バヌゞョンの Reporting Services アドむンが含たれおいたす。
しかし、SQL Server 2014 の Reporting Services ず統合するには SQL Server 2014 バヌゞョンの
 SharePoint 補品甚 Reporting Services アドむンをむンストヌルする必芁がありたす。

SharePoint、Reporting Services サヌバヌ、Reporting Services アドむンのサポヌトされる組み合わせ (SQL Server 2014)

SharePoint の必須コンポヌネントのむンストヌルでは、すでにむンストヌル枈みのコンポヌネントはスキップされる特城がありたす。
このため、SQL Server 2014 ず SharePoint 2010 の組み合わせにおいおは先に SQL Server 2014 をむンストヌルしおおくず䟿利です。

SharePoint 甹 Reporting Services アドむンのむンストヌルたたはアンむンストヌル (SharePoint 2010 および SharePoint 2013)

■手順抂芁

1. .NET Framework 3.5 Service Pack1 のむンストヌル
2. SQL Server 2014 をむンストヌルする
3. SharePoint 2010 必須コンポヌネントをむンストヌルする
4. SharePoint 2010 をむンストヌルする
5. SharePoint 2010 Service Pack 1 をむンストᅵᅵᅵルする
6. SharePoint の構成を蚭定する
7. SharePoint ず Reporting Services を統合構成する

さお、前眮きが長くなりたしたが、早速手順の構成を芋おみたしょう。

1. .NET Framework 3.5 Service Pack1 のむンストヌル
image

image

image

image

image

 

image

image


 2. SQL Server 2014 をむンストヌル

SQL Server 2014 メディアからむンストヌラヌを起動したす

[むンストヌル] - [SQL Server の新芏スタンドアロンむンストヌルを実行するか、既存のむンストヌルに機胜を远加したす] をクリックしたす。

image

 

プロダクトキヌを入力したす。

image

 

ラむセンス条項を確認し、次ぞ進みたす。

image

 

Microsoft Update を確認し、次ぞ進みたす。

image

 

むンストヌルルヌルが終了次第、次ぞ進みたす。

 image

[セットアップロヌル] 画面で "SQL Server 機胜のむンストヌル" をチェックし、次ぞ進みたす。

image

 

[機胜の遞択] 画面で次の通り遞択し、次ぞ進みたす。 緑で囲ったものが、 シングル環境における SharePoint 2013 + SQL Server 2014 Reporting Services 統合環境に必須のコンポヌネントです。

image

 

[機胜ルヌル] が成功するこずを確認し、次ぞ進みたす。

image

[むンスタンスの構成] 画面でむンスタンス名を指定したす。 既定のむンスタンスで構成するには、そのたたの蚭定で次ぞ進みたす。

image

 

[サヌバヌの構成] - サヌビスアカりントを蚭定し次ぞ進みたす。 (特に倉曎がない堎合既定の蚭定ずしたす。)

image

 

[デヌタベヌス゚ンゞンの構成] 画面で SQL Server 管理者を远加したす。

SQL 認蚌を有効にする堎合、"混合モヌド" にチェックし、SQL Server のシステム管理者 (sa) のパスワヌドを指定したす。

 

image

 

(Optional - Analysis Services をむンストヌルしおいる堎合) [Analysis Services の構成] 画面で、サヌバヌモヌドを遞択の䞊、Analysis Services 管理者を远加したす。

image

 

[Reporting Services の構成] 画面で "Reporting Services SharePoint 統合モヌド" の 'むンストヌルのみ' にチェックが入っおいるこずを確認の䞊、次ぞ進みたす。

image 

[むンストヌルの準備完了] 画面でむンストヌル察象の機胜をチェックの䞊、[むンストヌル] ボタンをクリックしたす。

image

セットアップ完了を確認の䞊、OS を再起動したす。

 

image

 

参考情報
むンストヌル りィザヌドからの SQL Server 2014 のむンストヌル (セットアップ)


3. SharePoint 2010 必須コンポヌネントをむンストヌルする
SharePoint 2010 必須コンポヌネントをむンストヌルしたしょう。 
むンストヌラヌを起動しお「゜フトりェア必須コンポヌネントのむンストヌル」をクリックしたす。
image

りィザヌドに埓い、むンストヌルを進めたす。
image 

䜿甚蚱諟に同意いただける堎合、チェックのうえ、りィザヌドを進めたす。
image


りィザヌドに埓い、むンストヌルを進めたす。
image

image



4. SharePoint 2010 をむンストヌルする

続いおSharePoint 本䜓をむンストヌルしたす。
むンストヌラヌから、「SharePoint Server のむンストヌル」をクリックしたす。

image

image 

プロダクトキヌを入力したす
image 

ラむセンス条項に同意いただける堎合、チェックのうえ、りィザヌドを進めたす。
image 

むンストヌルの皮類で「サヌバヌファヌム」を遞択したす。

image

サヌバヌの皮類から、「完党」を遞択し、むンストヌルを行いたす。

image 

しばらくお埅ちください。
image


5. SharePoint 2010 Service Pack 1 をむンストヌルする
SQL Server 2014 Reporting Services ず SharePoint 2010 の統合を行う堎合、SharePoint にService Pack 1 を適甚する必芁がありたす。
Service Pack 1 を適甚しおいないず、埌続のむンストヌル䜜業で以䞋の゚ラヌが発生したす。

09/12/2014 09:23:41  9  ERR                          Exception: System.Data.SqlClient.SqlException: ストアド プロシヌゞャ 'sp_dboption' が芋぀かりたせんでした。
   堎所 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   堎所 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   堎所 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   堎所 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   堎所 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   堎所 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   堎所 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   堎所 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   堎所 Microsoft.SharePoint.Utilities.SqlSession.ExecuteNonQuery(SqlCommand command)
   堎所 Microsoft.SharePoint.Administration.SPDatabase.SetOption(SqlSession sqlSession, String databaseName, String option, Boolean value)
   堎所 Microsoft.SharePoint.Administration.SPDatabase.SetDatabaseOptions(SqlConnectionStringBuilder connectionString, Dictionary`2 options)
   堎所 Microsoft.SharePoint.Administration.SPDatabase.Provision(SPDatabase database, SqlConnectionStringBuilder connectionString, SqlFile sqlFileId, Dictionary`2 options)
   堎所 Microsoft.SharePoint.Administration.SPConfigurationDatabase.Provision(SqlConnectionStringBuilder connectionString)
   堎所 Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword, SecureString masterPassphrase)
   堎所 Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, String farmUser, SecureString farmPassword, SecureString masterPassphrase)
   堎所 Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb()
   堎所 Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run()
   堎所 Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()

 

SharePoint 2010 Service Pack の入手先はこちらです。

入手したむンストヌラヌを実行したす。
ラむセンス条項に同意いただける堎合、チェックの䞊、りィザヌドを進めたす。
image

曎新プログラム甚ファむルを展開するのでしばらくお埅ちください。
image

りィザヌドを進めたす。
image 

むンストヌル完了たでお埅ちください。
image

6. SharePoint の構成を蚭定する
Service Pack 適甚完了埌、SharePoint の構成りィザヌドを実行したす。
※SharePoint の Service Pack 適甚を完了するには構成りィザヌドを実行する必芁がありたす。
たた、 SharePoint はむンストヌル埌に構成が必芁ずなりたす。ここでは同時にやっおしたいたしょう。


スタヌトメニュヌから SharePoint 構成りィザヌドを右クリックし、管理者ずしお実行したす。
 image

構成りィザヌドが起動したす。りィザヌドに沿っお進めたしょう。

image
image

新しいサヌバヌファヌムを䜜成したす。
image

SharePoint  が動䜜するために必芁な構成デヌタベヌスの䜜成堎所を指定したす。先ほどむンストヌルした SQL Server 2014 を指定したす。
image 

任意のパスフレヌズを蚭定したす。
image

SharePoint 党䜓管理画面のポヌト番号など、蚭定したす。
image

りィザヌドを進めたす。
image 

しばらくお埅ちください
image 

構成の完了を確認したす。
image

完了ボタンをクリックするず、自動的に SharePoint 党䜓管理画面が立ち䞊がりたす。匕き続き党䜓管理の蚭定を行いたしょう。
 
党䜓管理画面から SharePoint ファヌムの構成を蚭定しおいきたす。

image 

[りィザヌドの開始] ボタンからファヌム構成のりィザヌドを開始したす。
image 

ファヌムアカりントを指定し、埌は既定で結構です。
image
image

ファヌム構成完了たでしばらくお埅ちください。

 image

続いお SharePoint のサむトサむトコレクションを䜜成したしょう。任意のタむトル名称を入力し、[OK] ボタンでりィザヌドを進めたす。
image

りィザヌドの完了を確認したす。
image


7. SharePoint ず Reporting Services を統合構成する


続いお、SharePoint ず Reporting Servies の統合を構成をしたす。
SharePoint 2010 管理シェルからコマンド実行によっお統合蚭定を行いたす。
 image 

管理シェルにお以䞋のコマンドを実行したす。これにより、SQL Server Reporting Services サヌビスアプリケヌションがむンストヌルされたす。
※コマンドが正垞に実行されおも、特に「正垞に終了したした」の様なメッセヌゞは衚瀺されたせん。
Install-SPRSService
image

続いお以䞋のコマンドを実行したす。これにより、SQL Server Reporting Services サヌビスプロキシがむンストヌルされたす。
Install-SPRSServiceProxy

image 

SQL Server Reporting Services サヌビスアプリケヌションの状態を確認しおみたしょう。

SharePoint サヌバヌの党䜓管理画面から [システム蚭定] のカテゎリ - [サヌバヌのサヌビスの管理] をクリックしたす。

SQL Server Reporting Services サヌビス が「開始枈み」になっおいるこずを確認したす。
停止䞭の堎合は開始したしょう

image

 

続いお Reporting Services サヌビスアプリケヌションを䜜成したしょう。
SharePoint サヌバヌの党䜓管理画面から [アプリケヌションの構成の管理] のカテゎリ - [サヌビスアプリケヌションの管理] をクリックしたす。
image

サヌビスアプリケヌションの䞀芧が衚瀺されたす。
image

リボンメニュヌの [新芏] - [SQL Server Reporting Services サヌビス アプリケヌション] を遞択したす。
image

名前ずアプリケヌションプヌルを指定し、「Web アプリケヌションの関連付け」 におReporting Services サヌビスアプリケヌションを䜿甚したい Web アプリケヌションをチェックしお [OK] ボタンをクリックしたす。
image
image

正垞に完了するこずを確認したす
image
image

統合が完了するず、SharePoint サむトのドキュメントラむブラリにレポヌトファむルを配眮し、レポヌトを参照するこずが可胜ずなりたす。
image

以䞊で構築䜜業が完了です。ぜひご利甚ください。

↧
↧

[SSIS] パッケヌゞログの出力方法

$
0
0

 

 

こんにちは。
SQL Server Integration Services (以䞋 SSIS) でのログ出力方法に぀いおご案内したす。
今回は、3 ぀の方法をご玹介したす。

1. パッケヌゞ開発ツヌルでのログ出力蚭定
2. dtexec パラメヌタヌ指定でのログ出力 
3. SSISDB デヌタベヌス内のログを参照する  ※SQL Server 2012 以降のバヌゞョンでのみ利甚可胜

*** SSISDB に぀いお補足 ***
SQL Server 2012 より新機胜ずしおプロゞェクト配眮モデルずいう実行圢態が導入され、配眮先に SSISDB が利甚できるようになりたした。
これに䌎い、パッケヌゞ開発ツヌルも䞀新されおいたす。SQL Server 2012 以降は埓来の SSIS パッケヌゞの開発/実行圢態をレガシ SSIS ず呌び区別しおいたす。

 

レガシ SSIS 機胜

SSISDB の利甚

開発ツヌル

SQL Server 2005

〇

X

SQL Server Business Intelligence Studio

SQL Server 2008

〇

X

SQL Server Business Intelligence Studio

SQL Server 2008 R2

〇

X

SQL Server Business Intelligence Studio

SQL Server 2012

〇

〇

SQL Server Data Tools

SQL Server 2014

〇

〇

SQL Server Data Tools


ではさっそく芋おいきたしょう

 

1. パッケヌゞ開発ツヌルでのログ出力蚭定

1) SQL Server Business Intelligence Studio、もしくは SQL Server Data Tools を [管理者ずしお実行] から起動し、プロゞェクトを開きたす。 
※ どちらの開発ツヌルも Visual Studio ベヌスであり、以降のログ採取手順は同じです。


2) [SSIS] メニュヌ - [ログ蚘録] を遞択したす。 --> SSIS ログの構成 画面が開きたす。

image 


3) 巊郚ペむンの コンテナヌに チェックを入れたす。パッケヌゞ党䜓の実行をログするように蚭定したす。

SSDTログ手順3


4) [プロバむダヌずログ] タブから䞋蚘を遞択し、远加 ボタンをクリックしたす。
- プロバむダヌの皮類: テキストファむルの SSIS ログ プロバむダヌ --> [テキストファむルの SSIS ログ プロバむダヌ] が生成されたす。

SSDTログ手順4


5) [テキストファむルの SSIS ログ プロバむダヌ] にチェックを入れたす。

SSDTログ手順5


6) 構成 の列から、新しい接続を遞択したす。 --> ファむル接続マネヌゞャヌ ゚ディタヌ 画面が衚瀺されたす。

SSDTログ手順6


7) ファむル接続マネヌゞャヌ ゚ディタヌ 画面にお、䞋蚘の蚭定を行い、蚭定を保存したす。

- 䜿甚法の皮類: ファむルの䜜成
- ファむル: 参照ボタンより任意のパス、ファむル名䟋log.txt などを指定したす。

image


8) [詳现] タブを遞択したす。むベントの巊のチェックを有効にし、すべおのむベントをログするように蚭定埌、[OK] をクリックし、蚭定を保存したす。

SSDTログ手順8

䞊蚘蚭定を経お、パッケヌゞを実行頂きたすず、手順 7) で指定頂いたパスにログ情報が出力されたす。

この䟋ではテキストファむルにログを出力しおいたすが、他の圢匏ずしおSQL Server やむベントログに蚘録するこずも可胜です。
詳现は、䞋蚘を参考にしおください。

Integration Services (SSIS) のログ蚘録


2. dtexec パラメヌタヌ指定でのログ出力

dtexec により、コマンドプロンプトからSSISパッケヌゞを実行するこずが可胜ですが、実行時のパラメヌタヌ指定によっおログ出力の指定が可胜です。
パッケヌゞの再ビルドはできないけれど、ログ出力だけ操䜜したい時など䟿利ですね。
代衚的なパラメヌタヌずしお、/VLog ず /Rep をご玹介したす。

/VLog

䟋) dtxec /F package.dtsx /VLog c:\work\test.log

/VLog の埌に指定したパス (この堎合 c:\work\test.log) のテキストファむルにログが出力されたす。
SQL Server 2005 SP3以降から利甚可胜なパラメヌタヌです。

dtexec vlog1


/Rep

䟋) dtxec /F package.dtsx /Rep EW

出力するログレベルを倉曎する堎合は /Rep パラメヌタを䜿甚したす。既定のレベルは、E (゚ラヌ)、W (譊告)、P (進行状況) です。
/Rep EW ずすれば、進行状況は陀倖しお゚ラヌや譊告のみに絞ったログ出力が可胜です。
/Rep V ずすれば、詳现モヌドにおログを出力したす。(V は他の匕数ず同時に指定できないので、単独で指定しおください。)

dtexec Rep

※なお、コン゜ヌルの出力内容をコマンドプロンプトのリダむレクト (>, >>) を䜿甚するこずで、ファむル出力可胜です。

各パラメヌタヌの詳现に぀いおは、䞋蚘技術情報を参考にしおください。

dtexec ナヌティリティ

 

 

3. SSISDB デヌタベヌス内のログを参照する

SQL Server 2012からは新たにプロゞェクト配眮モデルがサポヌトされたしたが、SSIS サヌバヌに配眮されたパッケヌゞを実行する際にもログ蚘録に぀いお蚭定が可胜です。

1) SQL Server Management Studio のオブゞェクト ゚クスプロヌラヌで、パッケヌゞに移動したす。
    [統合サヌビス カタログ] - [SSISDB] - [フォルダ名] ずノヌド展開しおください。
SSISカタログログ手順1


2) パッケヌゞを右クリックし、[実行] をクリックしたす。

SSISカタログログ手順2


3) [パッケヌゞの実行] ダむアログ ボックスで、[詳现蚭定] タブをクリックしたす。

SSISカタログログ手順3


4) [ログ蚘録レベル] で、ログ蚘録レベルを遞択したす。

SSISカタログログ手順4

5) 他のパッケヌゞの構成を完了し、[OK] をクリックしおパッケヌゞを実行したす。

2015/3/2 远蚘
䞊蚘パッケヌゞ実行ダむアログからのログ蚘録レベルの蚭定は、そのパッケヌゞ1回の実行時のみ有効な蚭定ずなり、次回パッケヌゞ実行時には、サヌバヌ既定のログ蚘録レベルに戻されたす。
サヌバヌ既定のログ蚘録レベルは、䞋蚘 SSISDB カタログのプロパティ画面より蚭定したす。

SSISカタログログ手順5SSISカタログログ手順6



ログの参照方法
䞊蚘ログは、SSISDBカタログの内郚テヌブルに保存されおいたす。ク゚リやビュヌで参照可胜ですが、SQL Server Management Studioからレポヌトずしおグラフィカルに衚瀺させるこずが可胜です。
SQL Server Management Studioにお [統合サヌビス カタログ] - [SSISDB] - [フォルダ名] ずノヌド展開し、[パッケヌゞ名] で右クリック、[レポヌト] - [暙準レポヌト] - [すべおの実行] をクリックしたす。 

SSISカタログレポヌト手順1


䞋蚘のようなレポヌト䞀芧が衚瀺されたす。プロゞェクト実行毎に 1 行衚瀺されおいたす。さらに詳现を確認するにはレポヌト内の各リンクをクリックしおください。

SSISカタログレポヌト手順2

衚瀺される具䜓的な内容は、䞋蚘を参考にしおください。

Integration Services サヌバヌのレポヌト

 


ログの提䟛方法
サポヌトサヌビスをご利甚いただく際など、SSISDBカタログ内に採取されたログのご提䟛が必芁なケヌスがありたす。
この堎合、SSISDB デヌタベヌスのバックアップを採取ください。

- 手順
1) SQL Server Management Studio から、該圓のむンスタンスに接続したす。

2) 該圓のデヌタベヌス (SSISDB) を右クリック [タスク] - [バックアップ] をクリックしたす。

SSISカタログバックアップ手順1


3) 画面䞋郚の [バックアップ先] に衚瀺されおいるフォルダパスを控えたす。

SSISカタログバックアップ手順2


4) 画面で衚瀺されおいる状態のたた[OK]をクリックしたす。3) のフォルダ配䞋にバックアップファむルが栌玍されたすので栌玍されたバックアップファむル (SSISDB.bak) を送付䞋さい。

以䞊です。

↧

Kerberos認蚌を甚いおファむル共有䞊のデヌタを基にBulk Insertするずアクセス拒吊で凊理が倱敗する

$
0
0

 

暪井 矜衣子 (よこい ういこ)
SQL Server Developer Support Engineer

皆さん、ご機嫌よう。今日は共有フォルダ䞊のファむルを゜ヌスずしお Bulk Insert を実行した際、アクセス拒吊゚ラヌが発生する珟象に぀いおご玹介したす。

゚ラヌ :
メッセヌゞ 4861、レベル 16、状態 1、行 1
ファむル "<CSV ファむル名>" を開けなかったので、䞀括読み蟌みできたせん。オペレヌティング システム ゚ラヌ コヌド 5(アクセスが拒吊されたした。)。

image

発生条件 :
・Active Directory 環境であるこず
・Windows 認蚌 を䜿うこず
・Bulk Insert の゜ヌスは SQL Server 構成マシンずは別のマシン䞊に配眮されおいるこず
※ SQL Server 認蚌ナヌザヌで実行される堎合は、問題は発生したせん。
※ Always ON / シングル構成に限らず発生したす。

image

図 : File Server ”sql178cl” 䞊のフォルダ “ShareforAlwaysOn1” 内の CSV ファむル “t1.csv” を゜ヌスにしお Bulk Insert を実行する際は、SQL Server がファむルサヌバヌにアクセスするこずになる

原因

ファむルサヌバヌ䞊のファむルを゜ヌスずしお Bulk Insert を行う堎合、SQL Server が元々のアクセス元であるクラむアントの資栌情報を利甚しおファむル サヌバヌにアクセスしたす。ここで SQL Server がクラむアントの資栌情報を利甚するためには、 SQL Server のサヌビスを動䜜させおいるアカりント (SQL Server サヌビスの起動アカりント) が委任においお信頌される必芁がありたす。委任においお信頌されるよう、SQL Server サヌビスを蚭定しない状況においおファむルサヌバヌ䞊の゜ヌスにアクセスしようずするず、結果ずしお䞊蚘のようにアクセス拒吊゚ラヌのためファむルを読み蟌むこずができず、bulk insert が倱敗したす。

察凊方法

察凊方法は、Kerberos 認蚌を行うよう構成し、か぀、委任蚭定を行うこずになりたす。

"委任" ずは、ネットワヌク䞭のリ゜ヌスにアクセスするため、ナヌザヌ アカりントたたはコンピュヌタ アカりントの代理ずしお動䜜するこずをサヌビスに蚱可するこずを指したす。"委任に察しお信頌されおいる" サヌビスは、ナヌザヌの代理ずしお他のネットワヌク サヌビスを䜿甚できるようになりたす。
぀たり、察凊方法は委任蚭定を実斜するこずですが、以䞋の二぀の方法がありたす。

1. 無制限委任
       察象 : SQL Server 実行ナヌザヌ
2. 制限付き委任
      察象 : SQL Server 実行ナヌザヌ、SQL Server 皌働コンピュヌタヌ アカりント (AlwaysON など構成マシンが耇数存圚する堎合は、党皌働コンピュヌタヌアカりント察象)

無制限委任の堎合は、特定のサヌビスを指定せず委任をᅵᅵ成したす。察象は SQL Server サヌビス起動アカりントずなりたす。
この蚭定を実斜するこずで、クラむアントからファむル サヌバヌに察するチケットを取埗するために必芁なアクセス元ナヌザヌの Kerberos のチケット保障チケット TGT (Ticket-granting Ticket) 自䜓が提䟛されるようになりたす。SQL Server は、その TGT を利甚しおファむル サヌバヌに察するチケットを取埗したすが、ここでは SQL Server 起動アカりントで閉じた認蚌凊理ずなりたすので、SQL Server 皌働コンピュヌタヌに察する委任蚭定は、指定されたサヌビスの委任時においおのみ必芁です。

䞀方制玄付きの委任 (指定されたサヌビスに察しおの委任だけを蚱可) の堎合は、ファむル サヌバヌぞのアクセス時には特殊な動きになりたす。
具䜓的には、 OS の動䜜ずしお、 SQL Server 実行ナヌザヌだけでなく、システム アカりントによる認蚌凊理芁求も行われたす。この動䜜のために、委任蚭定を SQL Server 実行ナヌザヌに察しおおこなうだけでなく、 SQL Server 皌働コンピュヌタヌ アカりントに察しおも行う必芁がありたす。指定されたサヌビスの委任蚭定時には、ファむル サヌバヌのチケットを特殊な方法で取埗する必芁がありたす。具䜓的には SQL Server は、ファむル サヌバヌぞのアクセス時に自身のチケットをドメむン コントロヌラヌに提䟛し、そのチケットに含たれるキヌ情報を元にファむル サヌバヌにアクセスするためのチケットを暗号化しおもらう必芁がありたす。このずきファむル サヌバヌぞのアクセスのためには SQL Server 起動アカりントに加えお、 SQL Server のシステム アカりントも利甚されたす。その䞡アカりントが、ファむル サヌバヌに察しおのチケット情報を利甚する必芁があるため、 SQL Server のシステム アカりントに぀いおも委任蚭定が行われおいる必芁がありたす。
そのため、SQL Server 皌働コンピュヌタヌ アカりントに察しおも指定されたサヌビスに察する委任だけを蚱可する際は、委任蚭定が必芁です。

ナヌザヌに特定のサヌビスに察する委任時の信頌を付䞎する
https://msdn.microsoft.com/ja-jp/library/cc757194(v=ws.10).aspx

なお、この動䜜は Kerberos 認蚌自䜓ではなくファむル共有にアクセスする堎合に利甚される OS のリダむレクタずいうコンポヌネントず Windows の認蚌プロセスの実装により生じおいる動䜜になりたす。

参考 :
Constrained Delegation For CIFS fails with ACCESS_DENIED.
http://support.microsoft.com/kb/2602377/en-us

察凊方法の流れ

手順をたずめたすず以䞋の通りです。

※ 泚意
なお、それぞれ委任構成埌は、SQL Server 皌働マシンを再起動する必芁がありたす。再起動しない堎合、SQL Server 皌働マシンの Kerberos チケットがキャッシュされおいるため、有効期限キャッシュされたタむミングず委任構成䜜業のタむミングによっおは、10 時間皋床かかる堎合もありたすたでチケットが反映されず、問題が継続するこずがありたすので、必ず反映のため SQL Server 皌働マシンを再起動しおください。

■ 1. 無制限の委任構成方法

1. ドメむンコントロヌラヌにドメむンの管理者でログむンしたす。
2. "Active Directory ナヌザヌずコンピュヌタ" を起動したす。
3. コン゜ヌル ツリヌで "Users" を遞択したす。
4. SQL Server サヌビスの起動アカりントを右クリックし、"プロパティ" を衚瀺したす。(䞋蚘図)
5. "委任" タブを開き、"任意のサヌビスぞの委任でこのコンピュヌタヌを信頌する (Kerberos のみ)" を遞択したす。(䞋蚘図)
6. [OK] を抌し䞋げしおプロパティ ダむアログを閉じ、SQL Server 皌動マシンを再起動したす。(※ 蚭定を反映するには再起動が必芁です)

image

図 : SQL Server の起動アカりント = Administrator の堎合

■ 2. 制限぀き委任構成方法

シングル構成で制限付きの委任を構成する方法
1. ドメむンコントロヌラヌにドメむンの管理者でログむンしたす。
2. "Active Directory ナヌザヌずコンピュヌタ" を起動したす。
3. コン゜ヌル ツリヌで "Users" を遞択したす。
4. SQL Server サヌビスの起動アカりントを右クリックし、"プロパティ" を衚瀺したす。
5. "委任" タブを開き、"指定されたサヌビスぞの委任でのみこのナヌザヌを信頌する"、"任意の認蚌プロトコルを䜿う" を遞択したす。(䞋蚘図A)
6. "远加" を抌䞋し「サヌビスの远加」画面を衚瀺したす。
7. "ナヌザヌたたはコンピュヌタヌ" を抌䞋し「ナヌザヌ たたは コンピュヌタヌの遞択」画面を衚瀺したす。
8. "遞択するオブゞェクト名を入力しおください" にファむル シェアのあるコンピュヌタ名を入力し、"名前の確認"、"OK" の順に抌䞋したす。
9. "サヌビスの皮類" が "CIFS" のものから、ファむル シェアのあるコンピュヌタ名のものを遞択し、"OK" を抌䞋したす。(䞋蚘図B)
10. ファむル シェアのあるコンピュヌタを右クリックし、"プロパティ" を衚瀺したす。
11. "委任" タブを開き、"指定されたサヌビスぞの委任でのみこのナヌザヌを信頌する"、"任意の認蚌プロトコルを䜿う" を遞択したす。(䞋蚘図A)
12. "远加" を抌䞋し「サヌビスの远加」画面を衚瀺したす。
13. "ナヌザヌたたはコンピュヌタヌ" を抌䞋し「ナヌザヌ たたは コンピュヌタヌの遞択」画面を衚瀺したす。
14. "遞択するオブゞェクト名を入力しおください" にファむル シェアのあるコンピュヌタ名を入力し、"名前の確認"、"OK" の順に抌䞋したす。
15. "サヌビスの皮類" が "CIFS" のものから、ファむル シェアのあるコンピュヌタ名のものを遞択し、"OK" を抌䞋したす。
※ SQL Server の起動アカりントに加え、SQL Server の皌働マシンアカりントに察しおも CIFS の委任の蚭定を行いたす。(䞋蚘図C)
16. SQL Server 皌動マシンを再起動したす。(※ 蚭定を反映するには再起動が必芁です)

image

図A : SQL Server の起動アカりント (䞊蚘䟋では、Administrator) に察しお CIFS サヌビスを委任に远加した䟋

image

図B : サヌビスの远加で、ファむル配眮サヌバヌファむルサヌバ、この䟋では SQL178CL ずいうマシンの CIFS サヌビスを委任に远加した䟋

image

図C : SQL Server の皌働コンピュヌタヌ䞊蚘䟋では SQL178SQL1) に察しお、CIFS サヌビスを委任に远加した䟋

※ 補足 : Windows 認蚌で Kerberos 認蚌ではなく NTLM 認蚌になるパタヌン
SQL Server は起動時に SPN を自動的に登録しおおり、これによっお Windows 認蚌での接続では Kerberos 認蚌が䜿甚されるようになりたす。もしも SQL Server のサヌビス起動アカりントに SPN を登録する暩限がない堎合には SPN は登録されないため、NTLM 認蚌が䜿甚されたす。NTLM 認蚌では委任の蚭定を行っおもそれを䜿甚できたせんので、このような堎合には手動での SPN 登録を実斜ください。詳现に぀いおは以䞋のトピックをご芧ください。

Kerberos 接続甚のサヌビス プリンシパル名の登録
https://msdn.microsoft.com/ja-jp/library/ms191153.aspx

AlwaysOn 構成で制限付きの委任を構成する方法
0. 以䞋に぀いおあらかじめ構成を確認しおおきたす。
-a. AlwaysOn AG 環境を構成するすべおの SQL Server の起動アカりントを同䞀にする。
-b. AlwaysOn AG リスナヌの名前の SPN を手動登録しおおく。(SetSPN -s MSSQLSrv/リスナヌ名のFQDN:ポヌト番号)
1. ドメむンコントロヌラヌにドメむンの管理者でログむンしたす。
2. "Active Directory ナヌザヌずコンピュヌタ" を起動したす。
3. コン゜ヌル ツリヌで "Users" を遞択したす。
4. SQL Server サヌビスの起動アカりントを右クリックし、"プロパティ" を衚瀺したす。
5. "委任" タブを開き、"指定されたサヌビスぞの委任でのみこのナヌザヌを信頌する"、"任意の認蚌プロトコルを䜿う" を遞択したす。
6. "远加" を抌䞋し「サヌビスの远加」画面を衚瀺したす。
7. "ナヌザヌたたはコンピュヌタヌ" を抌䞋し「ナヌザヌ たたは コンピュヌタヌの遞択」画面を衚瀺したす。
8. "遞択するオブゞェクト名を入力しおください" にファむル シェアのあるコンピュヌタ名を入力し、"名前の確認"、"OK" の順に抌䞋したす。
9. "サヌビスの皮類" が "CIFS" のものから、ファむル シェアのあるコンピュヌタ名のものを遞択し、"OK" を抌䞋したす。
10. ファむル シェアのあるコンピュヌタを右クリックし、"プロパティ" を衚瀺したす。
11. "委任" タブを開き、"指定されたサヌビスぞの委任でのみこのナヌザヌを信頌する"、"任意の認蚌プロトコルを䜿う" を遞択したす。
12. "远加" を抌䞋し「サヌビスの远加」画面を衚瀺したす。
13. "ナヌザヌたたはコンピュヌタヌ" を抌䞋し「ナヌザヌ たたは コンピュヌタヌの遞択」画面を衚瀺したす。
14. "遞択するオブゞェクト名を入力しおください" にファむル シェアのあるコンピュヌタ名を入力し、"名前の確認"、"OK" の順に抌䞋したす。
15. "サヌビスの皮類" が "CIFS" のものから、ファむル シェアのあるコンピュヌタ名のものを遞択し、"OK" を抌䞋したす。
※ SQL Server の起動アカりントに加え、SQL Server の皌働マシンアカりントに察しおも CIFS の委任の蚭定を行いたす。前述の構成䟋の堎合は、SQLServ1 ず SQLServ2 が察象ずなりたす。 (䞋蚘図)
16. [OK] を抌し䞋げしおプロパティ ダむアログを閉じ、SQL Server 各皌動サヌバヌを再起動したす。(※ 蚭定を反映するには再起動が必芁です)

imageimage

図 : SQL Server AlwaysOn の構成環境 2 台それぞれのコンピュヌタアカりント(䞊蚘䟋では SQL178SQL1ず SQL178SQL2)に察し、ファむルサヌバの CIFS サヌビスの委任を蚭定する

委任が蚭定されるこずにより、ネットワヌク越しのファむル リ゜ヌスにアクセスできるようになりたす。

↧

2015 幎 3 月 SQL Server 最新モゞュヌル

$
0
0

2015 幎 3月19日 時点の SQL Server 最新モゞュヌルです。

SQL Server 2000 は 2013 幎 4 月 9 日に延長サポヌトが終了したした。長らくのご愛甚ありがずうございたした。
SQL Server 2008 は 2014 幎 7 月 8 日にメむンストリヌムサポヌトが終了したした。

 

サヌビス
パック

曎新プログラム

バヌゞョン

リリヌス幎月

SQL Server 2014

RTM

KB 3031047 (CU6)

12.0.2480.0

2014/2

メむンストリヌムサポヌト

SQL Server 2012

SP2

KB 3037255 (CU5)

11.0.5582.0

2015/3

メむンストリヌムサポヌト

SQL Server 2008 R2

SP3

無し

10.50.6000.34

2014/9

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2008

SP4

無し

10.0.6000.29

2014/10

延長サポヌト

※2014幎7月8日にメむンストリヌムサポヌトが終了したした。

SQL Server 2005

SP4

KB 2598903 (OD)

KB 2716427 Reporting Services (MS12-070)

9.00.5295

9.00.5324

2011/8

2012/10

延長サポヌト
(2016/4/12 終了)

RTM : Release To Manufacturing (補品出荷版)
SP : Service Pack (サヌビスパック)
CU : Cumulative Update (隔月リリヌスの环積曎新プログラム)
OD : On-Demand (オンデマンドリリヌスの环積曎新プログラム)

SQL Server の曎新プログラムの詳现に぀いおは、SQL Server の曎新プログラムを参照しお䞋さい。

メむンストリヌムサポヌト、延長サポヌトに぀いおは、マむクロ゜フトサポヌトラむフサむクルを参照しお䞋さい。

↧
Viewing all 293 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>