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

2016 年 5 月 SQL Server 最新モジュール

$
0
0

2016 年 5月 17日 時点の SQL Server 最新モジュールです。

SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。
SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。

サービス
パック

更新プログラム

バージョン

リリース年月

SQL Server 2014

SP1

KB 3144524 (CU6)

12.0.4449.0

2016/4メインストリームサポート

SQL Server 2012

SP3

KB 3152635 (CU3)

11.0.6537.0

2016/5メインストリームサポート

SQL Server 2008 R2

SP3

無し

10.50.6000.0

2014/9延長サポート

※2014年7月8日にメインストリームサポートが終了しました。

SQL Server 2008

SP4

無し

10.0.6000.0

2014/10延長サポート

※2014年7月8日にメインストリームサポートが終了しました

 

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

SQL Server の更新プログラムの詳細については、SQL Server の更新プログラムを参照して下さい。

メインストリームサポート、延長サポートについては、マイクロソフトサポートライフサイクルを参照して下さい。


FlushCache メッセージ

$
0
0

 

神谷 雅紀
Escalation Engineer

 

 

SQL Server 2012 以降では、以下のメッセージが Errorlog ファイルに記録されることがあります。今回はこのメッセージを解説します。

 

メッセージ

 

FlushCache: cleaned up 39907 bufs with 1628 writes in 74882 ms (avoided 30218 new dirty bufs) for db 5:0
            average writes per second: 21.74 writes/sec average throughput: 4.15 MB/sec, I/O saturation: 3296, context switches 9000
            last target outstanding: 153600, avgWriteLatency 22

 

メッセージの意味

 

このメッセージは、チェックポイントプロセスが、データバッファにキャッシュされているデータをデータファイルへフラッシュするのに、recovery interval に設定されている時間よりも長い時間がかかったことを示しています。

上のメッセージを例にすると、「データベース ID 5 のキャッシュ上で変更されたデータページのうち チェックポイント開始後に変更された 30218 ページを除く 39907 ページを、74882 ミリ秒かけて 1628 回の書き込み要求によりファイルへ書き出した。平均書き込み数は 21.75 回 / 秒、平均スループットは 4.15 MB / 秒、未完了 I/O 数がターゲットを超えたのは 3296 回、コンテキストスイッチは 9000 回、未完了 I/O ターゲットは 1536000、平均書き込みレイテンシーは 22」という意味です。

ここで言う「未完了 I/O ターゲット」は、未完了非同期 I/O の最大数です。未完了 I/O 数がこの最大数を超えると SLEEP_BPOOL_FLUSH 待ちとなります。

 

このメッセージが記録された時の対応

 

このメッセージが記録された時に実施すべき対応は、まず、ディスクのパフォーマンスを確認することです。パフォーマンスカウンタで、SQLServer:Buffer Manager\Checkpoint pages/sec と該当データベースのデータファイルが置かれている物理ディスクの Physical Disks\Avg. Disk Write Queue LengthCurrent Disk Queue Length、%Idle Time を確認し、チェックポイント時の Idle Time が 0 でディスクキューが非常に長い場合は、そのデータベースが必要とする書き込み量がディスクの性能を上回っている可能性があります。

書き込み量がディスク性能を上回っていると思われる場合、ディスク自体の性能を向上させる以外では、以下の方法が考えられます。

 

-k 起動パラメーターによる最大 I/O 量の制限

SQL Server では、起動パラメーター –k により、チェックポイントによる書き込み量を制限することができます。例えば、起動パラメーターとして -k5 を指定すると、チェックポイントによる書き込みは、5 MB / 秒に制限されます。

これにより、ディスク性能を上回る書き込み要求を発生させないようにすることができる可能性がありますが、チェックポイントによる書き込み自体の絶対量が減る訳ではないため、1 度のチェックポイントにかかる時間が長くなる可能性があります。

 

FIX: I/O requests that are generated by the checkpoint process may cause I/O bottlenecks if the I/O subsystem is not fast enough to sustain the IO requests in SQL Server 2005

 

間接チェックポイント

SQL Server 2012 以降では、間接チェックポイントを使用することで、自動チェックポイントよりも短い間隔でチェックポイントを実行することができます。これにより、一度のチェックポイントでファイルに書き出すページ数を減らすことができる可能性があります。例えば、これまではチェックポイントの平均実行間隔が 1 分で 100 ページの書き出しを行っていたものを、30 秒で 50 ページを書き出すといった形です。

ただし、頻繁にページが書き換わる場合、全体としての書き込み量が多くなる可能性もあります。例えば、1 秒に 1 度書き換わるページがある場合、チェックポイントの平均実行間隔が 1 分であったとすると、ページの内容がメモリ上で 60 回書き換わって 1 度ファイルに書き出されることになります。この場合、チェックポイントの平均実行間隔が 30 秒になっても、30 回書き換わって 1 度ファイルに書かれるようになるだけで、どちらの場合もチェックポイント時の書き出し対象ページであることには変わりません。その結果、チェックポイント間隔が短くなることで、合計の書き出しページ数が増える可能性もあります。このような点も考慮して、TARGET_RECOVERY_TIME を決定する必要があります。

 

データベース チェックポイント (SQL Server)

 

関連

FAQ:実行時間の長い I/O を示すエラー833について

照合順序 –文字の比較と並び順 (その 2)

$
0
0

神谷 雅紀
Escalation Engineer

 


照合順序 – 文字の比較と並び順 (その 1) では照合順序とは何かを書きました。今回は、照合順序に関わるいくつかの注意点について書きます。

 

 

照合順序の衝突

 

異なる照合順序が指定されている列同士は、比較することができません。

以下は、その簡単なサンプルです。

 

use master
go
drop database ja_90_bin2
go
— 照合順序 japanese_90_bin2 のデータベースを作成
create database ja_90_bin2 collate japanese_90_bin2
go
use ja_90_bin2
go
— 照合順序 japanese_90_bin2 のデータベースに japanese_90_ci_as と japanese_90_cs_as の列を持つテーブルを作成
create table dbo.ja_90_cias (c1 int, c2 nvarchar(10) collate japanese_90_ci_as)
create table dbo.ja_90_csas (c1 int, c2 nvarchar(10) collate japanese_90_cs_as)
go
— japanese_90_ci_as と japanese_90_cs_as の列でテーブルを結合
select * from dbo.ja_90_cias i inner join dbo.ja_90_csas s on i.c2=s.c2
go
— 実行結果
メッセージ 468、レベル 16、状態 9、行 1
equal to 操作の “Japanese_90_CS_AS” と “Japanese_90_CI_AS” 間での照合順序の競合を解決できません。

 

これが問題になる最も一般的な例が、tempdb 上に作成される一時テーブルです。

 

use ja_90_bin2
go
— ユーザーデータベースにテーブルを作成
create table dbo.parmanent_tab (c1 int, c2 nvarchar(10))
— 一時テーブルを作成
create table #temporary_tab (c1 int, c2 nvarchar(10))
go
— これらのテーブルを結合
select * from dbo.parmanent_tab p inner join #temporary_tab t on p.c2=t.c2
go
— 実行結果
メッセージ 468、レベル 16、状態 9、行 1
equal to 操作の “Japanese_CI_AS” と “Japanese_90_BIN2” 間での照合順序の競合を解決できません。

 

一時テーブルは tempdb に作成されますので、一時テーブルの列は明示的に指定しない限り、tempdb の照合順序を継承します。tempdb は、SQL Server インストール後に明示的に変更していない限り、SQL Server インストール時に指定したインスタンスの照合順序に設定されています。そのため、ユーザーデータベースやテーブルの作成時に tempdb とは異なる照合順序を指定した場合には、注意が必要です。

照合順序が同一ではない列の比較を行う場合は、以下のように、比較に使用する照合順序を明示的に指定する必要があります。

 


select * from dbo.parmanent_tab p inner join #temporary_tab t on p.c2=t.c2 collate japanese_90_cs_as


 

データベース照合順序とメタデータ参照

 

データベースの照合順序は、メタデータにも適用されます。

例えば、BIN2 照合順序のデータベースにあるテーブルを参照する場合は、テーブル名や列名の大文字小文字が区別されます。

以下は、その例です。テーブル名の最初の文字 j は小文字ですが、クエリでの参照では J と大文字になっているため、エラーとなります。

 

select * from dbo.Ja_90_cias i inner join dbo.ja_90_csas s on i.c2=s.c2
go
— 実行結果
メッセージ 208、レベル 16、状態 1、行 1
オブジェクト名 ‘dbo.Ja_90_cias’ が無効です。

 

日本語におけるアクセント

 

「ぁ」などは、Japanese および Japanese_90 照合順序では、大文字小文字 (Case) ではなくアクセント (Accent) として扱われます。

「々」「ー」(長音) などは、直前の文字の繰り返しであり、それ自体は意味を持たないものとして解釈されます。

 

if N’あ’ = N’ぁ’ collate japanese_90_ci_ai
print N’equal’
else
print N’not equal’
go
if N’あ’ = N’ぁ’ collate japanese_90_ci_as
print N’equal’
else
print N’not equal’
— 実行結果
equal
not equal

   

「重み (weight)」がない文字を用いた比較

 

BIN もしくは BIN2 照合順序として比較することで、重みが定義されていない文字の比較が可能になります。

 

付録 : 文字一覧の作成スクリプトサンプル (SC 照合順序サポートバージョン (SQL Server 2012 以降) 用)

 

マイクロソフトでは、個々の照合順序ごとの文字の並び順の一覧や並び順の規則などは公開していません。並び順を確認する必要がある場合は、確認の必要な照合順序ごとに、以下のようなスクリプトにより確認して下さい。

 

— 準備
if db_id(N’collation’) is not null
drop database collation
go
create database collation collate Japanese_XJIS_100_CI_AS_SC
go
use collation
go
drop table dbo.t1
go
create table dbo.t1
(k int,
c nvarchar(2) collate Japanese_XJIS_100_CI_AS_SC)
go
declare @c int
set @c=0
while (@c <= 0x10FFFF)
begin
insert into dbo.t1 values (@c, NCHAR(@c))
set @c+=1
end
go
— Japanese_XJIS_100_CI_AS_SC 順
select * from dbo.t1 order by c collate Japanese_XJIS_100_CI_AS_SC,k
go
— Japanese_90_CI_AS 順
select * from dbo.t1 order by c collate Japanese_90_CI_AS,k
go

— Japanese_CI_AS 順
select * from dbo.t1 order by c collate Japanese_CI_AS,k
go

— Japanese_CI_AS 順
select k as ‘code’, c ‘char’,
case
when NextChar = c collate Japanese_CI_AS then ‘=’
else ‘!=’ end as ‘EQ/NEQ’,
NextChar as ‘next char’,
unicode(NextChar) as ‘next char code’
from
(select k, c, lead(c,1,0) over (order by c collate Japanese_CI_AS, k) as ‘NextChar’ from dbo.t1) X
order by c collate Japanese_CI_AS, k
go


   


日付 更新内容
2014/01/15 公開 神谷
2016/07/26 リンク等修正 神谷

2016 年 7 月 SQL Server 最新モジュール

$
0
0

2016 年 7月 26日 時点の SQL Server 最新モジュールです。

SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。
SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。

サービス
パック

更新プログラム

バージョン

リリース年月

SQL Server 2016

RTM KB 3164674 (CU1)

13.0.2149.0

2016/7
メインストリームサポート

SQL Server 2014

SP1

KB 3162659 (CU7)

12.0.4459.0

2016/6
メインストリームサポート

SQL Server 2012

SP3

KB 3165264 (CU4)

11.0.6540.0

2016/7
メインストリームサポート

SQL Server 2008 R2

SP3

無し

10.50.6000.0

2014/9
延長サポート
※2014年7月8日にメインストリームサポートが終了しました。

SQL Server 2008

SP4

無し

10.0.6000.0

2014/10
延長サポート
※2014年7月8日にメインストリームサポートが終了しました

 

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

SQL Server の更新プログラムの詳細については、SQL Server の更新プログラムを参照して下さい。

メインストリームサポート、延長サポートについては、マイクロソフトサポートライフサイクルを参照して下さい。

SQL Server 2016 環境においてデータベースメールが正常に使用できない

$
0
0

事象

本ブログ公開日時点 (2016年8月15日) において、SQL Server 2016 環境において、データベースメール機能が正常に使用できない事象が発生しています。
データベースメール機能を使用した場合、特にエラーなどは発生しませんが送付設定を行ったメールがキューに滞留し送付されない状態が続きます。

原因

本事象は、.NET Framwork 3.5 系統 (2.0, 3.0, 3.5) がインストールされていない環境で発生します。
本事象の原因は、データベースメール機能が内部的に使用しているプロセス (DatabaseMail.exe) が .NET Framework 3.5 系統 (2.0, 3.0, 3.5) とともに動作するよう開発されているためです。

対処策

.NET Framework 3.5 系統をインストールすることで本問題の回避が可能です。
.NET Framework 2.0, 3.0, 3.5 に関してはサポートが終了しており、3.5 SP1 のみがサポート期間になるため、データベースメール機能をご利用いただく際には、.NET Framework 3.5 SP1 をインストール下さい。

Microsoft .NET Framework サポート ライフサイクル ポリシー
https://support.microsoft.com/ja-jp/gp/framework_faq/ja-jp

マイクロソフト サポート ライフサイクル
https://support.microsoft.com/ja-jp/lifecycle/search/default.aspx?sort=PN&alpha=.NET%20Framework&Filter=FilterNO
※ .NET Framework 3.5 SP1 のサポートライフサイクルは、同梱されている OS のサポートライフサイクルに準拠します。

TableAdapter 構成ウィザードは、Oracle 固有の構文をサポートしていない

$
0
0

佐藤 靖典
SQL Developer Support Engineer

 

今回は、Visual Studio の TableAdapter 構成ウィザードで TableAadpter を生成できない事象について紹介します。

 

1. 事象

データソースとして Oracle を使用し、TableAdapter 構成ウィザードで特定のクエリを指定した場合、次のエラーなどにより TableAdapter の生成に失敗します。

  • クエリ テキストを解析できません。
  • Unable to parse query text.

 

現在までに、クエリで以下を使用した場合にエラーが発生することが報告されています。

  • SELECT ~ FOR UPDATE
  • (+) を使用した外部結合
  • ROW_NUMBER 関数
  • “||” による文字列の連結

 

2. エラーが発生する理由

Visual Studio がクエリ構文解析のために使用しているクエリ パーサーが、Oracle 固有の構文をサポートしていません。
また、大変恐れ入りますが、現時点で Oracle 固有の構文をサポートする予定はございません。

 

3. 対処案

残念ながら、上述のような構文を使用したクエリの場合、TableAdapter 構成ウィザードで TableAdapter を生成できませんので、以下のような対応をご検討ください。

1) TableAdapter 構成ウィザードでは、上述のようなエラーが発生する構文を省いたクエリを指定して、TableAdapter を生成する。
2) 生成された DataSetName.Designer.cs/vb の CommandText に、使用したい構文を追加する。

 

4. 補足

System.Data.OracleClient 名前空間は .NET Framework の将来のバージョンで削除される予定です。このため、オラクル社が提供している Oracle Data Provider for .NET (ODP.NET) をご利用いただく事を強くお奨め致します。
また、Visual Studio のアドインとして提供されているオラクル社の Oracle Developer Tools for Visual Studio (ODT) を使用することで、ODP.NET に対応した TableAdapter 構成ウィザードなどが利用できるようになります。

 

参考資料

Features and limitations of the .NET Managed Provider for Oracle

———-< 抜粋 (ここから) >———-

Supported Oracle servers

The .NET Managed Provider for Oracle is built on version 8.1.7 of the Oracle Call Interface (OCI) application programming interface (API). The .NET Managed Provider for Oracle is developed and fully tested against the Oracle 8.1.7 Server. The .NET Managed Provider for Oracle has also been tested against Oracle 8.1.6. Microsoft will only address and support issues that occur against Oracle 8.1.6 server or Oracle 8.1.7 server and Oracle 9i or later versions. The .NET Managed Provider for Oracle 2.0 was tested against Oracle 9i Release 2, Oracle 10g Release 1, and Oracle 10g Release 2.

———-< 抜粋 (ここまで) >———-

System.Data.OracleClient Namespace
———-< 抜粋 (ここから) >———-
This types in System.Data.OracleClient are deprecated and will be removed in a future version of the .NET Framework. For more information, see Oracle and ADO.NET.
———-< 抜粋 (ここまで) >———-

[まとめ] SQL Server Japan Support Team Blog インデックス

$
0
0


★Welcome to Microsoft SQL Server Japan Support Team Blog

====================================

■1. 一般情報

◆a. SQL Server Update 情報

◆b. DO’s&DONT’s やった方がいいこと やらない方がいいこと

◆c. How to系

◆d. 若葉マークブログ

◆e. Known issue

◆f. SQL Connectivity

■2. SQL Serverエンジン

◆a. ツール

◆b 機能

◆c. SQL トラブルシューティング

◆d. インストール/アップグレード/アンインストール

■3. SQL Database (Azure)

■4. Analysis Services

■5. Reporting Service

■6. データアクセス

◆a. ADO.NET

◆b. ADO

◆c. JDBC

■7. Integration Services

■8. PowerBI

■9. イベント・お知らせ

====================================


■1. 一般情報 – a. SQL Server Update 情報

1. SQL Server の最新モジュール情報 (まとめページ)
2.
SQL Server の更新プログラム

Topへ

========================

■1. 一般情報 – b. DO’s&DONT’s やった方がいいこと やらない方がいいこと

1. DO’s&DONT’s #1: やらない方がいいこと – 運用環境で、Profiler GUI を使用してトレースする
2.
DO’s&DONT’s #2: 絶対にやらなければいけないこと – データ型を一致させる
3.
DO’s&DONT’s #3: やらなければいけないこと – 非典型的パラメータ値が存在する場合の再コンパイル (Atypical Parameter Problem …
4.
DO’s&DONT’s #4: やらない方がいいこと – クエリの 条件句 (WHERE や JOIN ON 等) で参照されている列の加工
5.
DO’s&DONT’s #5: やっておいた方がいいこと – SQL Azure アプリケーションでは Activity ID を記録しておく
6.
DO’s&DONT’s #6: 絶対にやってはいけないこと – ストアドプロシージャ内でのパラメータ値の変更
7.
DO’s&DONT’s #7: やらない方がいいこと – インデックス再構築 (REBUILD) 後のデータファイル圧縮 (SHRINK)
8.
DO’s&DONT’s #8: やってはいけないこと – インデックス再構築 (REBUILD) 後のインデックス統計情報更新 (UPDATE STATISTICS)
9.
DO’s&DONT’s #9: やらない方がいいこと – ディメンションのキー属性として末尾に全角スペースが格納される恐れがあるカラムを利用する。
10.
DO’s&DONT’s #10: やらない方がいいこと – クエリの条件句で変数を参照する
11.
DO’s&DONT’s #11: やってはいけないこと – トランザクションログファイルの拡張サイズを極端に小さくする
12.
DO’s&DONT’s #12: やった方がいいこと – max server memory を設定する
13.
DO’s&DONT’s #13: 絶対にやってはいけないこと – ORDER BY が指定されていないクエリの結果が一定の順番に並んでいると仮定すること
14.
DO’s&DONT’s #14: 絶対にやってはいけないこと – ひとつの CPU に対して affinity mask と affinity I/O mask の両方 …
15.
DO’s&DONT’s #15: やってはいけないこと – クラスタ SQL Server をサービスとして操作すること
16.
DO’s&DONT’s #16: やってはいけないこと – ログ配布プライマリデータベースのログバックアップ
17.
DO’s&DONT’s #17: やっておいた方がいいこと – tempdb データファイル数を CPU 数に一致させる
18.
DO’s&DONT’s #18: やった方がいいこと – .NET Framework アプリケーションでパラメータクエリを実行する場合にはパラメータのデータ型やサイズ …

Topへ

========================

■1. 一般情報 – c. How to系

1. システム データベースのリストア手順
2.
[PowerPivot][HowTo] SharePoint 2013 で PowerPivot for SharePoint を使用する方法
3.
非ドメイン環境上のサーバー間でミラーリングを構築する方法について
4.
SQL Server の手動アンインストール手順
5.
SQL Server 2008 R2 Service Pack のクラスター環境への適用手順
6.
Tips:SQL Server の Log フォルダの位置の確認方法
7.
HowTo: BID トレース – データアクセス アプリケーションのトレースを採取する
8.
ODBC API を使用して mdb ファイルからメモ型データを取得する方法
9.
バックアップからのリストアによるリカバリ手順
10.
Windows Vista 以降の OS 上で SQL Server 2008 SQL Server 2008 R2 から DTS パッケージ デザイナ を使うには
11.
How To:Ghost Record を確認する方法
12.
SQL Server SysPrep の注意事項と実行手順
13.
64 ビットSQL Server から SQL Server 2000 へのリンクサーバー設定について
14.
[Linux] BCP で 2GB 以上のサイズのファイルをインポートするには
15.
SQL Server Profilerを使用して、取得したPowerPivot 実行時のトレースを確認する方法
16.
実行プランを読む – 基本編 (その 1)
17.
実行プランを読む – 基本編 (その 2)
18.
実行プランを読む – 基本編 (その 3)
19.
実行プランを読む – 基本編 (その 4)
20.
実行プランを読む – 活用編 (その 1) – クエリチューニング
21.
実行プランを読む – 活用編 (その 2) – クエリパフォーマンス悪化の原因
22.
SQL トレーススクリプトの作成、実行 (SQL Server 2000)
23.
SQL トレーススクリプトの作成、実行 (SQL Server 2005, 2008, 2008 R2)
24.
HowTo: Management Studio を使ってトランザクションログファイル (ldf) のサイズを小さくする方法
25.
Oracle 経験者のための SQL Server HowTo #1: 拡張イベントを使って On-Error Dump を取得する
26.
Oracle 経験者のための SQL Server HowTo #2: サーバートレースを使ってセッション・レベルのSQLトレースを取得する
27.
オンプレミスのSQL Server データベースのバックアップ先としてクラウドを活用しよう
28.
PowerPivot for Excel: SQL Server 認証ユーザーのパスワード保存について
29.
デッドロックを避けるコツ  
30.
SQL Server Data Tools の入手  
31.
[VS 2013] SQL Server Data Tools (SSDT) のフォントの色が変わらない
32. SQL Server 2014 Express 日本語版 x86 インストール要件
33. 日本語照合順序での漢数字 〇 (0x815A) の取り扱いについて
34. 日本語照合順序での 濁音、半濁音 の取り扱いについて

Topへ

========================

■1. 一般情報 – d. 若葉マークブログ

1. [若葉マークブログ] 第 1 回 : トランザクションとは
2.
[若葉マークブログ] 第 2 回 : ロックとは
3. [若葉マークブログ] 第 3 回 : システム データベースとは

Topへ

========================

■1. 一般情報 – e. Known issue

1. KB 2007728 – Error message when you use SSL for connections to SQL Server: “The cer …
2.
IEの制限の影響によりWCF Data Services クライアントにおいて、300秒で’System.InvalidOperationException’が発生することがある
3.
[Windows XP] 暗号化され����� SQL Server Compact Edition データベースに対してアクセス遅延が発生することがある
4.
Known Issue: SQL Server 2008 フェールオーバクラスタのアンインストールに失敗する
5.
クエリ ビルダーで作られたクエリを実行すると構文エラーが発生する
6.
[*.rdlc] エクスポートした PDF の文字化け ~ 確認ポイントの鍵はシステム構成要素にあり ~
7.
osql での DBCC CHECKDB 結果に “SQLGetDiagRec failed” が大量に出力される
8.
SQL Server Profiler ツールの LoginName 列に無効化している“sa” ログインが出力される
9.
SQL Server 起動完了後のエラー 18456 「ユーザー ‘XXX’ はログインできませんでした。 理由: 明示的に指定されたデータベースを開けませんでした。」
10.
Known Issue: SQL Server 2008/SQL Server 2008 R2 インストール時に “Visual Studio – VsTemplat …
11.
SQL Server 2008 および SQL Server 2008 R2 の不具合修正情報の公開 – 照合順序のバージョンが 90 の場合、誤った実行結果が返ってくる事象に …
12.
Halloween Protection (HP) について
13.
DBCC SHRINKFILE 実行時のメッセージ
14.
データベースの所有者が確認できない影響
15.
CLR オブジェクト開発時の注意点
16.
透過的なデータ暗号化 (TDE) 環境のミラーリングの構成でエラー 927
17.
SQL Server 2005 Management Studio の [ログインをロックアウトする] チェックを外した際の注意点について
18.
FAQ:実行時間の長い I/O を示すエラー833について
19.
状態 または エラー ID が 29 のエラー 18056
20.
エラー666
21.
SQL Server 2012 BCP ユーティリティ 使用時の警告 “フォーマット ファイルを使用して BCP インポートを行うと、区切り列内の空の文字列が NULL に変換 …
22.
SQL Server 2000 MSDE から 上位バージョンへのアップグレードについて
23.
SQL Server 2012 構成ファイルの分散再生クライアントのオプションについて
24.
NVARCHAR/NCHAR データ型の列に格納されるデータが?になる 
25.
イベント ID 10016 エラーについて 
26. SSISDB が AlwaysOn 可用性グループに含まれている環境での修正プログラム適用 
27
. Known Issue: ストアドプロシージャ実行時にエラー 602 が発生する。 
28
. INSERT や UPDATE でデータの切り捨てエラー 8152 が発生することがある 
29
. Kerberos認証を用いてファイル共有上のデータを基にBulk Insertするとアクセス拒否で処理が失敗する

Topへ

========================
■1. 一般情報 – f. SQL Connectivity

1. Troubleshooting Connectivity #1 – SQL Server への接続
2.
Troubleshooting Connectivity #2 – エラー情報からわかる失敗原因
3.
Troubleshooting Connectivity #3 – 予期しない接続切断
4.
Troubleshooting Connectivity #4 – 接続エラーの調査方法
5.
Troubleshooting Connectivity #5 – セッション���立までの動作
6.
Troubleshooting Connectivity #6 – 接続タイムアウトは悪なのか?
7.
[SQL Connectivity] Case Study : クラスタ化された構成の SQL Server 2008 Service Pack 1 以前のバージョンの名前付き …
8.
[SQL Connectivity] Case Study : 認証 DC ダウン時の SSPI エラーについて
9.
[SQL Connectivity] 名前付きパイプでの接続時トラブルシューティング
10. Troubleshooting Connectivity #7 – 接続タイムアウトエラーまでの時間は?

Topへ

========================

■2. SQL Server エンジン – a. ツール

1. [SDP] 情報採取ツール Support Diagnostic Platform
2.
Kerberos Configuration Manager for SQL Server
3.
SQL Server 2012 BCP ユーティリティ 使用時の警告 “フォーマット ファイルを使用して BCP インポートを行うと、区切り列内の空の文字列が NULL に変換 …
4.
HowTo: Management Studio を使ってトランザクションログファイル (ldf) のサイズを小さくする方法
5.
Oracle 経験者のための SQL Server HowTo #1: 拡張イベントを使って On-Error Dump を取得する
6.
Oracle 経験者のための SQL Server HowTo #2: サーバートレースを使ってセッション・レベルのSQLトレースを取得する
7.
[SSMA] SSMA の動作環境についての推奨
8.
[SSMA] SSMA for Oracle Extension Pack インストール時に「スカラー変数 “xxx” を宣言してください。」エラーが発生する。
9.
SQL Server Profilerを使用して、取得したPowerPivot 実行時のトレースを確認する方法
10.
Known Issue: SQL Server 2008/SQL Server 2008 R2 インストール時に “Visual Studio – VsTemplat …
11.
SQL Server Profiler ツールの LoginName 列に無効化している“sa” ログインが出力される

Topへ

========================

■2. SQL Server エンジン – b. 機能

1. recovery interval 構成オプションは何を指定するオプションなのか
2.
照合順序 – 文字の比較と並び順 (その 1) 
3.
照合順序 – 文字の比較と並び順 (その 2)       
4.
DOPは並列クエリで使用されるスレッド数ではない      
5.
SQL Server 2012/2008 R2 新機能: 列変更カウンタ (colmodctr)       
6.
クエリタイムアウト – その仕組み      
7.
SQL Server のメモリ管理 – Part 4       
8.
SQL Server のメモリ管理 – Part 3       
9.
SQL Server のメモリ管理 – Part 2       
10.
SQL Server のメモリ管理 – Part 1
11.
排他ロックヒントを指定した行の列を読み取れる動作について
12.
SQL Server 2012 におけるパーティションインデックス再構築時の統計情報更新
13.
NUMERIC/DECIMAL の演算結果の有効桁数と小数点以下桁数
14.
SQL Server における数値定数 2147483647 と 2147483648 の違い
15.
DATETIME データ型のミリ秒に関する注意事項
16.
FAQ: 32-bit/64-bit SQL Server 間でのユーザーデータベースの移動は可能?
17.
FAQ: SQL Server 起動後、接続が可能となるタイミングは?
18.
SQL Server へのメモリ割り当てを減らすと tempdb 使用量が増える??
19.
統計情報の自動更新が ON の時には統計情報を手動で更新する必要はない?      
20.
変数とパラメータの違い
21.
CXPACKET 待ちは悪いことか?
22.
インデックス再構築と再構成の違い
23.
LSN とは?
24.
断片化について
25.
インテントロックとは?
26.
NVARCHAR/NCHAR データ型の列に格納される��ータが?になる
27. 統計情報更新処理をキャンセルした場合の動作
28. real および float データ型におけるアンダーフロー時の動作 
29. データベース バックアップでイベント ID 3014 が記録される

Topへ

========================
■2. SQL Server エンジン – c. SQL トラブルシューティング

1. SQL Server セットアップトラブルシューティング – 初級編
2.
[SQL Troubleshooting] SQL Server トラブルシューティング 6 回シリーズのご案内
3.
[SQL Troubleshooting] 第1回 : Tips – SQL Server エラーログとイベント ログを採取する (SQL 2000 ~ 2008 R2)
4.
[SQL Troubleshooting] 第2回 : Tips -パフォーマンス ログ��採取方法 (Windows Server 2003 ~ Windows Server …
5.
[SQL Troubleshooting] 第3回 :パフォーマンスログの確認方法について
6.
[SQL Troubleshooting] 第4回 サーバートレースの解析方法 – (1)
7.
[SQL Troubleshooting] 第5回 サーバートレースの解析方法 – (2)
8.
[SQL Troubleshooting] 第6回:ブロッキング情報を採取する (SQL Server 2000 ~ 2008 R2)
9.
どうする? SQL Server のクエリ パフォーマンスが低下した!       
10.
デッドロック調査用の情報採取
11.
バックアップが存在しない、または、バックアップからのリストアが行えない場合のデータベース復旧手順
12.
破損したデータベースからのデータ抜き出し方法

Topへ

========================
■2. SQL Server エンジン – d. インストール/アップグレード/アンインストール

1. SQL Server 2008 R2 SP2 適用後のクエリ動作について
2.
SQL Server 2000 MSDE から 上位バージョンへのアップグレードについて
3.
SQL Server 2012 構成ファイルの分散再生クライアントのオプションについて
4.
スクリプト アップグレード モード
5.
SQL Server セットアップトラブルシューティング – 初級編
6.
PowerPivot for SharePoint のサービスパックを適用する方法
7.
SQL Server の手動アンインストール手順
8.
SQL Server 2008 R2 Service Pack のクラスター環境への適用手順
9.
クラスター環境にSQL Server をインストールする際、MSDTC をクラスター化する必要があるか?  
10.
SQL Server 2014 SP1 適用における不具合 – Updated(解消されました) 
11.
SSISDB が AlwaysOn 可用性グループに含まれている環境での修正プログラム適用 

Topへ

========================

■3. SQL Database (Azure)

1. [Windows Azure] ゲスト OS アップグレード後、ゲスト OS 上のSQL Server Native Client を使用している WebRole/Worker …
2.
Windows Azure で、Web ロールで特定のバージョンの SQL Server Native Client を常に使えるようにする方法
3.
[Windows Azure SQL Reporting] Visual Studio でファイルエクスポートをするプログラムを書いてみよう
4.
Windows AzureのIaaS機能でSQL Serverを使ってみよう
5.
[SQL Database] デッドロックの調査方法について
6.
[SQL Database] 接続タイムアウトの発生を改善したい
7.
[SQL Database] Insert クエリにおいて使用制限されている Table ヒントについて
8.
SQL Azure 高可用性を保持するための仕組み
9.
WebロールからWindows Azure SQL Database にアクセスする (3/3) : Azure 管理者ポータルを使用したストレージの作成と Web ロールの配置
10.
WebロールからWindows Azure SQL Database にアクセスする(2/3) : EDM を作成しよう
11.
WebロールからWindows Azure SQL Database にアクセスする (1/3) : Azure 管理者ポータルを使用したテーブルの作成
12.
Windows Azure で、Web ロールで特定のバージョンの SQL Server Native Client を常に使えるようにする方法
13.
[SQL Database] 照合順序を指定したデータベース作成方法について
14.
SQL Database にてスクリプトの生成が行えない
15.
NVARCHAR/NCHAR データ型の列に格納されるデータが?になる 
16. [SQL Database] 新バージョン(V12) へのアップグレード用 PowerShell コマンドレット 
17. V12 の Azure SQL Database の sys.event_log に reconfiguration が記録されない 
18. [SQL Database] Web および Business エディションの終了に伴う、新エディションへの移行について (Microsoft Azure SQL Database) 
19. SQL Database から Microsoft Azure 仮想マシン + SQL Server 環境 へのデータ移行方法について

Topへ

========================

■4. Analysis Services

1. [SSAS] SQL Server Analysis Services トレース採取方法
2.
Analysis Services のデータが ‘-0’(マイナスゼロ)と表示される
3.
Known Issue: NullProcessing プロパティを Preserve にすると「Preserve は、個別のカウント メジャー ‘XXXX’ の有効な Nul …
4.
SQL Server 2005,2008,2008 R2 Analysis Services Standard エディションにおける使用可能な関数について
5. [SSAS] SQL Server Analysis Services メタデータマネージャー Error 発生時の対処方法
6. NULL データが含まれる場合の MDX 関数 BOTTOMCOUNT 使用の注意事項
7. Analysis Services のデッドロックとブロッキングの確認方法

Topへ

========================

■5. Reporting Service

1. [SSRS] Reporting Services サービスが起動しない
2.
[SSRS] HTML 形式で表示したレポートと PDF や印刷で表示したレポートの見栄えが異なる。対処方法は!?
3.
[SSRS] SharePoint 統合モードのレポートサーバー構築手順 (単一サーバー) – SQL Server 2012 と SharePoint 2013 の組み合わせ)
4.
[SSRS] SharePoint 統合モードのレポートサーバー構築手順 (単一サーバー) – SQL Server 2008 と SharePoint 2010 の組み合わせ)
5.
[SSRS Troubleshooting] SQL Server Reporting Services トラブルシューティングのご案内
6.
[SSRS]Reporting Services 使用時の TERADATA 拡張機能エラー
7.
[SSRS] Reporting Services 文字化け:異なる OS 間の PDF 文字化け
8
[SSRS] レポートパラメータの位置や順序を変更できるか
9.
[SSRS] Reporting Services の詳細ログ
10.
[SSRS] SharePoint 統合モードのレポートサーバー構築手順 (単一サーバー) – SQL Server 2012 と SharePoint 2010 の組み合わせ)
11.
[SSRS] SQL Server 2008 Reporting Services 不具合情報 – 1月1日に発生する イベント ID 123 について
12.
[SSRS] [SQL Server 2008 以降のバージョン] ReportViewer のレポート表示後、印刷ボタン(アイコン)を押下すると「クライアントの印刷コントロー …
13.
[SSRS] Response.Redirect でページ遷移すると画像が見えなくなる(deleteAfterServicing パラメーター)
14.
[SSRS] SQL Server 2008 Report Services で 3 つ以上のカスケード型レポートパラメータを設定したレポートを表示した場合、カスケード型レポー …
15.
Reporting Services のレポートで印刷を行うと「クライアントの印刷コントロールを読み込めません。」のエラーが発生する
16.
Known Issue: Reporting Services への初回アクセス時に、レポート表示に時間がかかる。
17.
How To:Reporting Services のレポートをコマンドで配置する方法
18.
SQL Server 2008 R2 Reporting Services 不具合情報 – “値 ‘x’ は無効です。有効な値は、’xx’ から ‘xxx’ です。”
19.
SQL Server 2008 以降の Reporting Services で総ページ数表記が “?” になる
20.
SQL Server Reporting Services カスタムアセンブリの設定方法
21. [TroubleShooting] PowerPivot ギャラリーで PowerPivot ファイルを開くとエラーが発生する
22. [SSRS] SharePoint 統合モードのレポートサーバー構築手順 (単一サーバー) – SQL Server 2014 と SharePoint 2013 の組み合わせ
23. [SSRS] Reporting Services 文字化け:PDF の文字をコピーして貼り付けると文字化け
23. [SSRS] SharePoint 統合モードのレポートサーバー構築手順 (単一サーバー) – SQL Server 2014 と SharePoint 2010 の組み合わせ
24. [SSRS] Report Viewer コントロール 2010 Language Pack Service Pack 1 が修復インストールとなる
25. [不具合] SQL Server 2014 Reporting Services にて、パフォーマンスオブジェクト ReportServer:Service が動作しない
26. [SSRS] HowTo:詳細レポートを別ウィンドウで開く方法
27. [SSRS] アプリケーションドメイン DefaultDomain を読み込めませんでしたエラーについて
28. [SSRS] Windows 7 SP1 x86 のクライアントにて SQL Server 2014 のレポートを印刷するとエラーになる

Topへ

========================

■6. データアクセス – a. ADO.NET

1. [ADO.NET] DataGridView 内のデータ編集とそのときのバインドした DataTable の動作
2.
[ADO.NET/SNAC] イニシャル パートナーがダウンしている場合、フェールオーバー パートナーに接続できる確率を高める方法
3.
「タイムアウトに達しました。プールから接続を取得する前にタイムアウト期間が過ぎました。プールされた接続がすべて使用中で、プール サイズの制限値に達した可能性があります。」エラー … 4
4.
DO’s&DONT’s #18: やった方がいいこと – .NET Framework アプリケーションでパラメータクエリを実行する場合にはパラメータのデータ型やサイズ … 
5. [Info] .NET Framework アプリケーションをリモート配置した場合に SQL Server への接続がタイムアウトすることがある
6. TableAdapter 構成ウィザードは、Oracle 固有の構文をサポートしていない

Topへ

======================== 

■6. データアクセス – b. ADO

1. KB 2517589 / 2640696 : Win7 SP1 上でビルドした ADO を参照するプログラムが下位バージョン OS 上で動作しない現象と対処方法 (Ver 2.1)
2.
Known Issue: ADO アプリケーションを Windows Server 2008 上で動作させると「要求された名前、または序数に対応する項目がコレクションで見つかり …
3. [SQL ODBC]「text、ntext、または image ポインター値は、指定した列名と競合しています。」エラーが発生する 
4. [Data Access] ODBC カーソルライブラリ非推奨に伴う Visual Studio 2012 以降のバージョンの MFC における実装変更とその動作について 
5. [Info] .NET Framework アプリケーションをリモート配置した場合に SQL Server への接続がタイムアウトすることがある

Topへ

======================== 

■6. データアクセス – c. JDBC

1. [JDBC] JDBC ドラ��バーの Java 7 対応について
2.
Microsoft SQL Server JDBC Driver は Android OS をサポートしない

Topへ

======================== 

■7. Integration Services

1. Known Issue: SSIS パッケージの TransactionOption オプションを Required とすると、パッケージの動作が停止しているように見える。
2.
64 bit 環境上における Oracle からデータ取得する Integration Services プロジェクト (SSIS パッケージ) の注意事項 – 開発編
3. [SSIS] パッケージログの出力方法
4. [SSIS] OLE DB プロバイダーを使用してフラットファイルをインポートすると正しくない結果となる
5. SQL Server Data Tools の入手
6. [SSIS] イベント ID 274 警告について
7. [SSIS] SSIS パッケージの Connect Timeout の既定値 0 は、無制限ではない。

Topへ

========================

 

■8. PowerBI

1. [HowTo] PowerBI for Office365 サイトのブックにある PowerView のデータ更新
2. [Office 365] Microsoft Power BI ライセンスが表示される 
3. [Power BI] Power BI セルフサインアップに起因したドメイン登録エラーの対処方法

Topへ

========================

■9. イベント・お知らせ

1. [Info] 毎週水曜日はサポート・サービスデイ ~ 調布でお待ちしています ~(※オンラインも可能です!!)
2.
[皆様のご意見募集しております!]サーバーおよびツール製品に関するインターナショナルユーザー アンケート 2013~「ローカライズについてモノ申したい方、大募集です!~」
3.
壁紙追加されました![期間限定Info]Windows Server 2012 先得早割キャンペーン(吉田健一氏コラボ壁紙全員プレゼントです!)
4.
[重要なお知らせ] 2012 年 7 月 2 日 (月) から技術サ��ート窓口時間が変更になります
5.
SQL PASS Summit 2011 at Seattle
6.
db tech showcase 2012

Topへ

2016 年 8 月 SQL Server 最新モジュール

$
0
0

2016 年 8月 26日 時点の SQL Server 最新モジュールです。

SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。
SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。

サービス
パック

更新プログラム

バージョン

リリース年月

SQL Server 2016

RTM KB 3164674 (CU1)

13.0.2149.0

2016/7
メインストリームサポート

SQL Server 2014

SP2

KB 3178925 (CU1)

12.0.5511.0

2016/8
メインストリームサポート

SQL Server 2012

SP3

KB 3165264 (CU4)

11.0.6540.0

2016/7
メインストリームサポート

SQL Server 2008 R2

SP3

無し

10.50.6000.0

2014/9
延長サポート
※2014年7月8日にメインストリームサポートが終了しました。

SQL Server 2008

SP4

無し

10.0.6000.0

2014/10
延長サポート
※2014年7月8日にメインストリームサポートが終了しました

 

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

SQL Server の更新プログラムの詳細については、SQL Server の更新プログラムを参照して下さい。

メインストリームサポート、延長サポートについては、マイクロソフトサポートライフサイクルを参照して下さい。


2016 年 9 月 SQL Server 最新モジュール

$
0
0

2016 年 9月 22日 時点の SQL Server 最新モジュールです。

SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。
SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。

 

サービス
パック

更新プログラム

バージョン

リリース年月

SQL Server 2016

RTM KB 3182270 (CU2)

13.0.2164.0

2016/9
メインストリームサポート

SQL Server 2014

SP2

KB 3178925 (CU1)

12.0.5511.0

2016/8
メインストリームサポート

SQL Server 2012

SP3

KB 3180915 (CU5)

11.0.6544.0

2016/9
メインストリームサポート

SQL Server 2008 R2

SP3

無し

10.50.6000.0

2014/9
延長サポート
※2014年7月8日にメインストリームサポートが終了しました。

SQL Server 2008

SP4

無し

10.0.6000.0

2014/10
延長サポート
※2014年7月8日にメインストリームサポートが終了しました

 

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

SQL Server の更新プログラムの詳細については、SQL Server の更新プログラムを参照して下さい。

メインストリームサポート、延長サポートについては、マイクロソフトサポートライフサイクルを参照して下さい。

[SSRS] 例外の詳細: ‘3’の InvalidArgument=Value は ‘SelectedIndex’に対して有効ではありません。

$
0
0

SQL Server Developer Support Team

米内 満

 

こんにちは!
今日は、Windows Server 2008 をご利用のお客様において確認できました稀な事象についてご紹介いたします。

 

[事象]

SQL Server Reporting Services 構成マネージャーから、任意のインスタンスに接続後、[サービスアカウント] ページを選択するとエラーが発生します。

 

参考画像 A

clip_image002

 

エラー

パネルの切り替え中にエラーが発生しました。WMI プロパティの取得中に発生したエラーが原因である可能性があります。例外の詳細:

‘3’ の InvalidArgument=Value は ‘SelectedIndex’ に対して有効ではありません。

パラメータ名: SelectedIndex

 

参考画像 B

clip_image003

 

[発生条件]

以下の条件により発生する事象となります。

Windows Server 2008 + SQL Server 2012 以降

Reporting Services のインストール時に、Reporting Services のサービス アカウントを Local Service に設定する

 

[要因]

Reporting Services 2012は、仮想アカウント (後述参照) が利用可能であることを前提としております。

しかしながら、Windows Server 2008 には仮想アカウントが存在しないため、サービスアカウント情報を表示させるドロップダウン リストのインデックス(仮想アカウントがある前提で並べられています) が不正となり、エラーとなります。

Windows Server 2008 R2 以降では仮想アカウントが存在するため、本エラーは発生しません。

 

■仮想アカウントについて

Windows Server 2008 R2 および Windows 7 の仮想アカウントは、サービスの管理を簡単にするために次の機能を提供する、管理されたローカル アカウントです。 仮想アカウントは自動的に管理され、ドメイン環境でネットワークにアクセスすることができます。

 

詳細につきましては、下記をご参考下さい。

Windows サービス アカウントと権限の構成

https://msdn.microsoft.com/ja-jp/library/ms143504(v=sql.110).aspx

 

[対処策]

事前予防策

Reporting Services をインストールする際、Reporting Services のサービス アカウントに既定の Network Service もしくは、ドメイン ユーザー アカウントを利用します。

 

事後対処策

直接インストールした Reporting Services のサービス アカウントを Local Service から Local System に変更します。

 

<詳細手順>

1. [スタート]-[コントロール パネル]-[管理ツール]-[サービス] にて事象が発生する SQL Server Reporting Services (任意のインスタンス) を確認します。

 

SA3

 

2. 該当のサービスにて、右クリック [プロパティ] をクリックし、表示されたプロパティ画面で [ログオン] タブをクリックします。

3. “ログオン” をローカル システム アカウントに設定し、OK をします。

 

clip_image005

 

4. サービスアカウントを変更した Reporting Services サービスを再起動します※ 再起動されるまでは反映されません。

5. Reporting Services 構成マネージャーを起動し、サービスアカウントがエラーなく確認できるか確認します。

 

[補足事項]

ローカル アカウントを利用する場合には、本事象に関わらず注意点があります。

 

詳細については、下記公開情報の”ローカル アカウントの使用に関する注意点″ の項目をご参照ください。

 

レポート サーバー サービス アカウントの構成 (SSRS 構成マネージャー)

https://msdn.microsoft.com/ja-jp/library/ms160340.aspx

 

以上です。参考になりましたら、幸いです。

2016 年 10 月 SQL Server 最新モジュール

$
0
0

2016 年 10月 19日 時点の SQL Server 最新モジュールです。

SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。
SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。

サービス
パック

更新プログラム

バージョン

リリース年月

SQL Server 2016

RTM KB 3182270 (CU2)

13.0.2164.0

2016/9
メインストリームサポート

SQL Server 2014

SP2

KB 3188778 (CU2)

12.0.5522.0

2016/10
メインストリームサポート

SQL Server 2012

SP3

KB 3180915 (CU5)

11.0.6544.0

2016/9
メインストリームサポート

SQL Server 2008 R2

SP3

無し

10.50.6000.0

2014/9
延長サポート
※2014年7月8日にメインストリームサポートが終了しました。

SQL Server 2008

SP4

無し

10.0.6000.0

2014/10
延長サポート
※2014年7月8日にメインストリームサポートが終了しました

 

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

SQL Server の更新プログラムの詳細については、SQL Server の更新プログラムを参照して下さい。

メインストリームサポート、延長サポートについては、マイクロソフトサポートライフサイクルを参照して下さい。

SQL Server における分散トランザクション 1

$
0
0

 

神谷 雅紀
Escalation Engineer

 

 

分散トランザクション

分散トランザクションとは、複数のリソースマネージャーで実行されるトランザクションを、ひとつのトランザクションとして実行するトランザクションです。

 

image

 

 

リソースマネージャー

リソースマネージャー (RM) とは、トランザクションによって更新されるデータを管理しているコンポーネントです。通常は、SQL Server や Oracle などのデータベース管理システムです。

 

トランザクションマネージャー

トランザクションマネージャー (TM) とは、トランザクションを管理し、各リソースマネージャーに対してトランザクションに関する指示を出すソフトウェアコンポーネントです。SQL Server は、トランザクションマネージャーとして、Microsoft Distributed Transaction Coordinator (分散トランザクションコーディネーター / MS DTC) を使用します。

 

SQL Server における分散トランザクション実行時のソフトウェア構成

SQL Server やアプリケーションは、MS DTC Proxy を使用して MS DTC とのやり取りを行います。

最も一般的な形は次の図のように、それぞれの Windows で動作している MS DTC を使用して分散トランザクションを実行します。

尚、通常リソースマネージャは複数 (上図のように右側のサーバーが複数ある構成) になりますが、以下の図は簡略化のためにリソースマネージャをひとつとしています。

 

image

 

ローカル MS DTC を使用するように構成されている Windows では、使用する MS DTC をアプリケーションコードの中で指定し、Windows の設定を上書きすることができます。アプリケーションによって明示的に指定されていない場合やリモート MS DTC を使用するように構成された Windows では、その設定に従います。設定は、[コンピューターの管理]  – [コンポーネントサービス] – [マイコンピューター] の [プロパティ] で行います。

 

image

 

この設定を変更することで、リモート MS DTC を使用するように構成することも可能です。

リモート MS DTC を使用する構成が有効な場合については、SQLCATのブログを参照してください。

https://blogs.msdn.microsoft.com/sqlcat/2010/05/11/resolving-dtc-related-waits-and-tuning-scalability-of-dtc/

 

 

image

 

分散トランザクションの流れ

1) SQL Server と MS DTC 間の接続確立

SQL Server は、起動時または最初に分散トランザクションが実行された時に、MS DTC Proxy を通じて MS DTC に接続します。この時、自分自身のインスタンスを識別するための固有のリソースマネージャー ID を渡します。AlwaysOn 可用性グループが DTC_SUPPORT = PER_DB に設定されている場合は、各プライマリーレプリカごとに固有のリソースマネージャ ID を渡します。

MS DTC とのセッションが確立すると、MS DTC の情報を取得します。その中には MS DTC が動作しているコンピューターの名前も含まれます。

 

image

 

このような初期化処理が終わると、Errorlog には以下のようなエントリが記録されます。

 

2016-10-19 17:05:32.37 spid116     Initializing Microsoft Distributed Transaction Coordinator (MS DTC) resource manager [df796691-315b-4dd2-9acd-11ad222e1e58] for server instance Server1\SQL16. This is an informational message only. No user action is required.

 

– MS DTC への接続は DtcGetTransactionManager を呼び出すことで行います。
– MS DTC の情報の取得は、
ITransactionImportWhereabouts::GetWhereabouts で行います。

 

2) アプリケーションと MS DTC 間の接続確立

アプリケーションも MS DTC Proxy を通じて MS DTC に接続します。

 

3) アプリケーションによるトランザクションの開始

アプリケーションは、MS DTC に対して、トランザクションの開始を通知します。

 

image

 

– トランザクションの開始は、ITransactionDispenser::BeginTransaction を呼び出すことで行います。
– アプリケーションは、開始されたトランザクションを表す ITransaction オブジェクトを受け取ります。

 

4) アプリケーションによる SQL Server 側 MS DTC 情報の取得

アプリケーションは、ODBC, OLEDB, ADO.NET などを使用して SQL Server との接続を確立し、その接続を通じて SQL Server 側 MS DTC の情報を取得します。SQL Server がアプリケーションに渡す情報は、1) で取得した MS DTC の情報です。

この時、SQL Server でトレースを採取していると、DTCTransaction\Get address トレースイベントおよび dtc_transaction\Get address 拡張イベントが生成されます。

 

image

 

5) アプリケーションによる SQL Server 側 MS DTC へのトランザクションエクスポート

アプリケーションは、SQL Server 側 MS DTC にトランザクションをエクスポートするようにアプリケーション側 MS DTC に指示します。加えて、トランザクションオブジェクトの cookie を取得し、SQL Server との接続を通じて、それを SQL Server に渡します。

 

image

 

– アプリケーションによるトランザクションのエクスポートは、ITransactionExportFactory::Create によって ITransactionExport を取得し、ITransactionExport::Export によって行います。
– cookie の取得は、ITransactionExport::GetTransactionCookie により行います。

 

6) SQL Server のトランザクションへの参加

SQL Server は、cookie を受け取ると、その cookie を使用して、トランザクションをインポートし、トランザクションに参加します。

この時、Enlisting in a DTC transaction, Propagate Transaction イベントが生成されます。

 

image

 

– トランザクションのインポートは、ITransactionImport::Import によって行います。
– トランザクションへの参加は、
IResourceManager::Enlist によって行います。Enlist には SQL Server により実装されている callback インターフェース ITransactionResourceAsync が渡されます。
– sys.dm_tran_active_transactions の transaction_uow に示される Unit Of Work (UOW) は
ITransaction::GetTransactionInfo によって取得される XACTTRANSINFO に含まれています。

 

6) アプリケーションによるデータ更新

アプリケーションは、開始したトランザクション内でデータ更新等のトランザクションを実行します。

 

7) トランザクションのコミット (2 フェーズコミット)

7-1) アプリケーションは、アプリケーション側 MS DTC に対して、トランザクションのコミットを要求します。

7-2) アプリケーション側 MS DTC は、SQL Server 側 MS DTC に対して、トランザクションのコミットの準備を要求し、その要求は SQL Server に対しても行われます。(フェーズ 1)

この時、Preparing Transaction イベントが生成されます。

 

image

 

– アプリケーションは、トランザクションをコミットするために ITransaction::Commit を呼び出します。

 

7-3) SQL Server がコミットの準備を完了すると、SQL Server は SQL Server 側 MS DTC に対してコミットの準備が完了したことを通知し、その通知はアプリケーション側 MS DTC にも通知されます。

 

image

 

7-4) 準備完了通知を受け取ったアプリケーション側 MS DTC は、SQL Server 側 MS DTC に対してトランザクションのコミットを要求し、その要求は SQL Server に対しても行われます。(フェーズ 2)

この時、Transaction is committing イベントが生成されます。

 

7-5) SQL Server でのコミットが完了すると、その完了が SQL Server 側 MS DTC に通知され、それはアプリケーション側 MS DTC にも通知されます。

– MS DTC は、SQL Server の ITransactionResourceAsync::PrepareRequest および ITransactionResourceAsync::CommitRequest を呼び出すことで、SQL Server に準備およびコミットを要求します。
– 準備、コミットの完了は、それぞれ
ITransactionEnlistmentAsync::PrepareRequestDone
ITransactionEnlistmentAsync::CommitRequestDone によって MS DTC に通知します。

 

7-6) アプリケーション側 MS DTC から アプリケーションに対して、コミットの完了が通知されます。

 

以上が分散トランザクションが開始されてから終了するまでの流れです。

 

次回以降で、トランザクションのロールバック、MS DTC が停止や再起動した場合、SQL Server が停止や再起動した場合、フェールオーバークラスター環境、可用性グループ環境などを取り上げる予定です。

 

 

 

 

 

 

 

 

 

 

Microsoft Flow/PowerApps (Dynamics 365)の非表示について

$
0
0

こんにちは。SQL Server サポートチームです。

マイクロソフトの新たなサービスとして、Microsoft Flow と PowerAppsが最近リリースされました。すでにご購入されている契約に Flow やPowerApps のライセンスが含まれる場合には、これらのサービスが自動的に Office 365 のポータルやアプリケーションランチャーに表示されています。(Dynamics 365 も含む)
こちらについては以下の設定を行うことで非表示にすることができます。こちらが少しでも参考になれば幸いです。

 

Q1. PowerApps と Flow のアイコンを非表示したい(ポータル/アプリランチャー)。どうすればよいか?

A1. ユーザーからライセンスをはく奪すると、ポータル、アプリランチャーからアイコンが消えます。ただ、アプリランチャーの非表示には時間がかかる場合があります。その場合は、一旦サインアウトいただき、再度サインインをお願い致します。

 

[詳細手順]

1. Office 365 Admin Portal “https://portal.office.com/adminportal/home#/homepage/” に接続します。

2. 左のナビゲーションバーにある [ユーザー] – [アクティブなユーザー] をダブルクリックし、PowerApps と フロー のアイコンを非表示したいユーザーをダブルクリックします。

clip_image001

 

3. ライセンスの管理画面が表示されるので、製品ライセンスの 編集 をクリックします。

clip_image002

 

4. Office 365 の左側を展開して Office 365 向けフローと PowerApps を確認後、それぞれのライセンスを OFF にします。

clip_image003

 

5. 無償版を利用した場合は、 Microsoft Power Apps & Flow が表示されているので、ライセンスを OFF にします。

その後、保存ボタンをクリックします。

clip_image004

 

 

+ 参考情報(英語表記となります)

PowerApps in your organization Q&A

https://powerapps.microsoft.com/en-us/tutorials/signup-question-and-answer/

———————-

How do I remove PowerApps for users that already signed up?

==============================================================

The How do users sign up for PowerApps section (in this topic) outlines the two possible ways that users can sign up for PowerApps. A separate step is required to remove users that already signed up through each flow.

If a user signed up for PowerApps through sign up flow Option 1 (in which the user goes to powerapps.microsoft.com and then selects Sign up free) but you no longer want them to have access to PowerApps, you can remove the PowerApps license for that user:

1.Go to the Office 365 Admin Portal.

2.In the left navigation bar, select Users, and then select Active Users.

3.Find the user you want to remove the license for, and then select their name.

4.On the user details page, select Licenses in the left navigation bar.

5.Clear Microsoft PowerApps, and then select Save.

If any users signed up for PowerApps through Option 2 (in which the user goes to powerapps.microsoft.com and selects Sign In) but you no longer want them to have access to PowerApps, file a support request.

———————-

 

Q2. 多くのユーザーに対して一括で PowerApps と Flow のアイコンを非表示したい(ポータル/アプリランチャー)。どうすればよいか?

A2. PowerShell を利用して、テナントに登録したユーザーに対し一括でPowerApps と Flow のライセンスを無効にし、アイコンを非表示にすることができます。

 

詳細手順
========

Office365向けフロー、Office365向け PowerApps を Powershell を利用して一括で制御する方法は下記の通りです。

この操作を実施することで、ポータル/アプリランチャーから、Office365向けフロー、Office365向け PowerApps のアイコンが非表示になります。

また、 Office365向けフロー、Office365向け PowerApps のライセンスがテナント全体で OFF になります。

ご利用のプランにより、ライセンス名、サービスプランが異なりますので、ご注意ください(下記の「プラン毎のライセンス名/サービスプラン名一覧」に情報を纏めましたので、ご参考ください)。

事前準備

======================

こちらの手順について、すでに最新の Azure Active Directory PowerShell がインストールされている場合は、飛ばしていただいて問題ございません。

PowerShell のコマンドレット実行にあたって、以下が事前に実行されている事が必要でございます。

Microsoft Online Services Sign-In Assistant for IT Professionals RTW のインストール

Azure Active Directory Module for Windows PowerShell (64 ビットバージョン) のインストール

下記の Microsoft ダウンロード センターから、各種ツールをインストールします。OS に合わせて、32 bit 用か、64 bit 用 (推奨) をお選びください。

タイトル : IT プロフェッショナル 用 Microsoft Online Services サインイン アシスタント RTW

アドレス : https://www.microsoft.com/ja-jp/download/details.aspx?id=41950


タイトル : Windows PowerShell 用の Azure Active Directory モジュール (64 ビット版)

アドレス : http://go.microsoft.com/fwlink/p/?linkid=236297


タイトル : Windows PowerShell 用の Azure Active Directory モジュール (32 ビット版)

アドレス : http://go.microsoft.com/fwlink/p/?linkid=236298

Power Shell のご利用におきましては、32 ビット バージョンのサポートがすでに終了しておりますことから、64 ビット バージョンのご利用を推奨いたします。


<参考情報>

Azure AD (Office 365) の管理のための Windows PowerShell の導入に関しては以下のページでご案内しておりますのでご参考いただければ幸いでございます。


タイトル : Windows PowerShell による Azure AD の管理

アドレス : https://msdn.microsoft.com/ja-jp/library/azure/jj151815.aspx


—–以下抜粋—–

2014 年 10 月 20 日をもって、Azure Active Directory Module for Windows PowerShell (32 ビット バージョン) は廃止されます。32 ビット版のサポートはこれ以上行われず、Azure Active Directory Module の今後の更新は 64 ビット版についてのみリリースされます。将来のサポートと互換性のため、64 ビット版をインストールすることを強くお勧めします。

——————-


ライセンスの一括削除方法

==========================

ラインセンスの一括削除方法は下記の通りです。

下記では Enterprise E3 のプランにおける一括削除方法をご案内しております。

1. 管理者として Powershell を起動します。

2. 資格情報を入力します。

下記のコマンドを入力します。

$credential = Get-Credential

1). Windows PowerShell 資格情報の要求ダイアログボックスが表示されます。

O365 管理者のユーザー名とパスワードを入力します。

clip_image002


2). 意図したユーザーで資格情報が入力されているか確認します(省略可能な手順です)。

下記のコマンドを入力することで確認できます。

$credential

3). MsOnline サービスに先ほど入力した資格情報を引き渡します。

下記を入力します。

Import-Module MsOnline

Connect-MsolService -Credential $credential

4). アクセス先のドメインを確認します。

下記を入力し、目的のドメインであるか確認します。

Get-MsolDomain

3. ライセンスを確認します。

現在のテナントで有効となっているラインセンスを確認します。

下記を入力します。

Get-MsolAccountSku

例えば下記のような結果が返された場合、ライセンスとして「ENTERPRISEPACK」(= Enterprise E3)を利用していることを確認できます。

後ほどの手順で利用するので、ドメイン名から記録しておきます(下記では o365xxxx:ENTERPRISEPACK が該当します)。

clip_image004

4. サービスプランを確認します。

現在のテナントで利用しているサービスプランを確認します。

下記を入力します。

#結果が返されるまでに、少し時間がかかる可能性があります。

例えば、下記のような結果が返されます。

Enterprise E3 においては、 FLOW_O365_P2 が Office365向けフロー、POWERAPPS_O365_P2 が Office365向け PowerApps のサービスとなります。

Office365向けフロー、Office365向け PowerApps のサービスプラン名は、ご利用のライセンスにより異なります。

clip_image006


参考情報

————

E3 のみのサービスプランを確認したい場合、下記のコマンドを実行することでフィルタした内容で確認が取れます。

下記を入力します。

$SStatus = Get-MsolAccountSku | where {$_.SkuPartNumber -eq “ENTERPRISEPACK”}

$SStatus.ServiceStatus

例えば、下記のような結果が返されます。

clip_image008


5. Office365向けフロー、Office365向け PowerApps のライセンス を一括で削除します。

上記で確認したライセンス名とサービスプラン名をもとに、ライセンスオプションを作成し、全てのユーザーに適用します。

下記のコマンドを環境に合わせて実行します。

$LO = New-MsolLicenseOptions -AccountSkuId “<上記手順 3 で確認したドメイン名:ライセンス名>” -DisabledPlans ” Office365向けフローのサービスプラン名”, “Office365向け PowerApps のサービスプラン名”

Get-MsolUser -All | where {$_.isLicensed -eq $true} | Set-MsolUserLicense -LicenseOptions $LO

例えば、上記の情報では、下記のようなコマンドとなります。

$LO = New-MsolLicenseOptions -AccountSkuId “o365xxxx:ENTERPRISEPACK” -DisabledPlans “FLOW_O365_P2”, “POWERAPPS_O365_P2”

Get-MsolUser -All | where {$_.isLicensed -eq $true} | Set-MsolUserLicense -LicenseOptions $LO

6. ライセンスが OFF となり、ポータル/アプリランチャーから、Office365向けフロー、Office365向け PowerApps のアイコンが非表示となっているか確認します。

表示が変わらない場合、サインアウト/サインインを実施して表示に変化があるかご確認ください。

プラン毎のライセンス名/サービスプラン名一覧

==========================

上記コマンドで確認するライセンス名、サービスプラン名は、プラン毎に異なります。

それぞれのプランにおける一覧を下記に纏めておりますので、コマンド実行結果の確認、並びに、コマンド生成時にご参考になれば幸いです。

プラン

ライセンス名

サービスプラン

 
   

Office365向けフロー

Office365向け PowerApps

Enterprise E1

STANDARDPACK

FLOW_O365_P1

POWERAPPS_O365_P1

Enterprise E3

ENTERPRISEPACK

FLOW_O365_P2

POWERAPPS_O365_P2

Enterprise E5

ENTERPRISEPREMIUM

FLOW_O365_P3

POWERAPPS_O365_P3

Windows 8 以降の MSXML2.DOMDocument の使用方法

$
0
0

皆さん、こんにちは。 BI データプラットフォームサポートチームです。
SQL Server を中心にサポートを提供していますが、データアクセスなどのテクノロジーなども対応していますので、今回は Microsoft XML Core Services (MSXML) を扱いたいと思います。

はじめに

MSXML は OS や Office などに同梱されている XML のパーサー機能です。
実ファイルとしては、DLL の形でSystem32 ディレクトリ (32bit モード用のモジュールは SysWOW64) に格納されています。
OS に同梱されており、基本的に追加インストールが不要なため、本 DLL を Office のマクロ機能などでご活用されている方も多くいらっしゃるかと思います。
最近、そういったユーザー様から、Windows 10 に移行した後から、MSXML 機能を使用するマクロが使えなくなったなどのお問い合わせを頂くことがあるため本ブログ記事にて詳細を説明したいと思います。

事象

Windows 7 環境などで問題なく稼働していた MSXML 機能を使うアプリケーション/マクロなどを、Windows 8 以降の環境で動作させようとすると下記のエラーが発生し、動作させることが出来ません。

コンパイルエラー: ユーザー定義型は定義されていません

例えば Word や Excel のマクロの参照設定で “Microsoft XML, v6.0″ を次のように選択し、マクロコード内で MSXML2.DOMDocument 型を使用している場合に本事象が発生します。
msxml6_pic1

原因

本事象の原因は、Windows 8 以降の MSXML (msxml6.dll) に MSXML2.DOMDocument型が存在しないことが原因です。
MSXML2.DOMDocument 型は、Windows 7 環境までは DLL に含まれていましたが、Windows 8 以降では含まれていません。
これは、MSXML2.DOMDocument 型は MSXML 3.0 が持つMSXML バージョンに依存しない動作を実現するための機能であり、MSXML 4.0 以降本機能は廃止されています。
英語ドキュメント、および、日本語機械翻訳しかないため少しわかりにくいですが、下記のドキュメントに記載があります。

 

What’s New in MSXML
https://msdn.microsoft.com/en-us/library/ms753751.aspx (英語原文)
https://msdn.microsoft.com/ja-jp/library/ms753751.aspx (日本語機械翻訳)

What’s New in MSXML 4.0

Version-Independent ProgIDs Removed

Version-independent ProgIDs were available in MSMXL and earlier releases and appeared such as the following when used in JScript code:

var xmldoc = CreateActiveXObject(“MSXML2.DOMDocument”)

or in Visual Basic code as:

Dim xmldoc As New MSXML2.DOMDocument

These types of version-independent ProgIDs are now removed with MSXML 4.0 and later versions.
This guarantees that MSXML 4.0 and later versions of MSXML will not interfere with any versions of MSXML (2.0, 2.6, or 3.0) previously installed.
If you use the previous examples in your code, you will not instantiate the MSXML 4.0 DOM, but instead the prior replace-mode versions of the MSXML parser (MSXML 3.0 or earlier depending on the version of Windows or other installed applications on the system that use MSXML).

If you want to use MSXML 4.0, you must create a DOMDocument object in JScript like this:

var xmldoc = CreateActiveXObject(“MSXML2.DOMDocument.4.0”)

Accordingly, for C++ and Microsoft Visual Basic you will create “MSXML2.DOMDocument40”.
Similar changes will be necessary with all other MSXML objects in order to use the MSXML 4.0 version.

 

対処策

MSXML2.DOMDocument ではなく、MSXML2.DOMDocument60 のように明示的にバージョンを指定するよう、アプリケーションやマクロを改修します。
これは、OS (Windows 10 環境や Windows 7 環境など) や MSXML を使用するアプリケーションの種類に関わらず、MSXML 6.0 を使用する環境/アプリケーションで同様です。

 

参考情報

What’s New in MSXML
https://msdn.microsoft.com/en-us/library/ms753751.aspx (英語原文)
https://msdn.microsoft.com/ja-jp/library/ms753751.aspx (日本語翻訳)

Installing and Redistributing MSXML
https://msdn.microsoft.com/en-us/library/cc507432.aspx (英語原文)
https://msdn.microsoft.com/ja-jp/library/cc507432.aspx (日本語翻訳)

List of Microsoft XML parser (MSXML) versions
https://support.microsoft.com/en-us/kb/269238 (英語原文)
https://support.microsoft.com/ja-jp/kb/269238 (日本語翻訳)

2016 年 11 月 SQL Server 最新モジュール

$
0
0

2016 年 11月 18日 時点の SQL Server 最新モジュールです。

SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。
SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。

サービス
パック

更新プログラム

バージョン

リリース年月

SQL Server 2016

SP1

無し

13.0.4001.0

2016/11
メインストリームサポート

SQL Server 2014

SP2

KB 3188778 (CU2)

12.0.5522.0

2016/10
メインストリームサポート

SQL Server 2012

SP3

KB 3194992 (CU6)

11.0.6567.0

2016/11
メインストリームサポート

SQL Server 2008 R2

SP3

無し

10.50.6000.0

2014/9
延長サポート
※2014年7月8日にメインストリームサポートが終了しました。

SQL Server 2008

SP4

無し

10.0.6000.0

2014/10
延長サポート
※2014年7月8日にメインストリームサポートが終了しました

 

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

SQL Server の更新プログラムの詳細については、SQL Server の更新プログラムを参照して下さい。

メインストリームサポート、延長サポートについては、マイクロソフトサポートライフサイクルを参照して下さい。


番外: Microsoft Flow/PowerApps (Dynamics 365)の非表示について

$
0
0

こんにちは。SQL Server サポートチームです。

マイクロソフトの新たなサービスとして、Microsoft Flow と PowerApps が最近リリースされました。すでにご購入されている契約に Flow やPowerApps のライセンスが含まれる場合には、これらのサービスが自動的に Office 365 のポータルやアプリケーションランチャーに表示されています。(Dynamics 365 も含む)

 

こちらを一括で非表示にする方法については、下記ブログでご紹介させていただいております。

 

Microsoft Flow/PowerApps (Dynamics 365)の非表示について

https://blogs.msdn.microsoft.com/jpsql/2016/11/21/microsoft-flowpowerapps-%E3%81%AE%E9%9D%9E%E8%A1%A8%E7%A4%BA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

 

先のブログに関連し CSV ファイルにユーザー情報を出力して、特定のユーザーのみのライセンスを制御したいとお問合せをいただくことがございましたので、ご参考までにご案内いたします。

例えば、Enterprise E3 や E5 プランなど複数のご契約があるテナントの場合、以下のように CSV ファイルを用いて各プランごとのユーザー情報を CSV ファイルに出力し、Office365向けフロー、Office365向け PowerApps のライセンス を一括で制御することができます。

 

Azure Active Directory PowerShell をご利用いただく際のご留意点

====================================================

1. 本ブログでご案内する内容はあくまで参考情報となります。

2. 本ブログの内容を実行いただくにあたり、環境固有に対するトラブルシュートについてはサポートいたしておりません。

3. 本ブログをご参考いただきライセンスを削除いただく場合は、事前にライセンス名をご確認いただいた上で実行してください。

 

==========================

◆ 1. 指定したライセンスが付与されたユーザー一覧の CSV ファイルを出力する

==========================

 

【コマンドレット】

Get-MsolUser -All | ForEach-Object {$upn=$_.UserPrincipalName; $dpn =$_.DisplayName; $_.Licenses | ForEach-Object {if($_.AccountSkuId -eq “ドメイン名:ライセンス名”){$upn+”,”+$dpn}}}|select @{n=”UserPrincipalName”; e={$upn}}, @{n=”DisplayName”; e={$dpn}} | Export-Csv -Encoding UTF8 “<ファイルの保存先のパス>”

【実行例】 以下の実行例では E3 プランが割り当たったユーザーを出力します

Get-MsolUser -All | ForEach-Object {$upn=$_.UserPrincipalName; $dpn =$_.DisplayName; $_.Licenses | ForEach-Object {if($_.AccountSkuId -eq “o365xxxx:ENTERPRISEPACK”){$upn+”,”+$dpn}}}|select @{n=”UserPrincipalName”; e={$upn}}, @{n=”DisplayName”; e={$dpn}} | Export-Csv -Encoding UTF8 “C:\temp\Userlist.csv” -NoTypeInformation

 

【出力例】

UserPrincipalName                  DisplayName

User01@o365xxxx.onmicrosoft.com ユーザー1

User02@o365xxxx.onmicrosoft.com ユーザー2

User03@o365xxxx.onmicrosoft.com ユーザー3

 

※ ライセンスを付け替えるユーザーのみを残して保存を行なっていただきます。

※ ネットワークに負荷が生じる恐れがございますので、作成する 1 つの CSV ファイルでは、1000 ユーザー以内で作成いただくことをおすすめいたします。

 

==========================

◆ 2. ライセンスオプションの作成

==========================

 

以下のコマンドレットにてライセンスから一部のプランを除外をする、ライセンスオプションを作成します。

以下の例では Enterprise E3 から [Microsoft Power Apps]、[Flow] を無効化する手順をご案内させていただきます。

【コマンドレット】

$<任意のライセンスオプション名> = New-MsolLicenseOptions -AccountSkuId <ドメイン名 : ライセンス名> -DisabledPlans <機能を無効化する ServicePlan>

 

【実行例】

$MY365Sku = New-MsolLicenseOptions -AccountSkuId o365xxxx:ENTERPRISEPACK -DisabledPlans FLOW_O365_P2,POWERAPPS_O365_P2

※ コマンドレットの実行結果は表示されません。

※ ライセンスオプションの付与は、現在のライセンス割り当てをすべて上書きする動作となります。

※ 上記コマンドレットは、ライセンスオプションを変数として一時的に保存するものとなりますため、PowerShell ウィンドウを閉じると、作成した情報が消滅します。

そのため、カスタマイズされたライセンスオプションは、作成後ウィンドウを閉じる前にご利用くださいますようお願い申し上げます。

 

==========================

◆ 3. 複数ユーザーに一括でライセンスオプションを付与する

==========================

 

CSV ファイルを利用して、対象のユーザーに上記手順 ◆ 2. で作成したライセンスオプションを割り当てます。

【コマンドレット】

Import-CSV “<ファイル名を含んだ保存先のパス>” | foreach { Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $<作成したライセンスオプション名> }

【実行例】

Import-CSV “C:\temp\Userlist.csv” | foreach { Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $MY365Sku }

 

以上です。参考になりましたら、幸いです。

Azure Data Catalog の登録ツールは 64 bit OSでのみ起動します

$
0
0

BI Data Platform (SQL Server) Support Team 山崎実久

Azure Data Catalog とは?

日々データが増え、データがあることは知っているが何処にデータがあるか分からず、周りの人に来てみたり、フォルダにあるドキュメントを探ったり、もしくは Azure の Portal サイトにアクセスして Azure SQL Database の接続文字列を確認するなど、データを探すことに時間を費やすことはないでしょうか?

その問題を解決するサービスが Azure Data Catalog です。

Azure Data Catalog を利用すれば、様々な情報を一つにまとめることができ、情報を探す事よりもデータを分析する事に時間を費やすことが出来ます。

例えば、よく利用する Excel Online のシートの URL や、Azure SQL DWH の接続文字列、SQL Server や Oracle データベースの接続先の情報や、SQL Server Reporting Services のレポートの URL など様々な情報を管理し、特定のユーザーと共有し管理することができます。

+ 参考情報
Data Catalog
https://azure.microsoft.com/ja-jp/services/data-catalog/

データの登録と注意点

では、そのような解析対象のデータを Azure Data Catalog に対して登録するにはどの様にすればよいのでしょうか。

Azure Data Catalog では、現在、次の2つの方法を提供しています。

– 専用のアプリケーションを利用する (アプリケーションを起動)

– ブラウザー上から直接登録する (手動エントリの作成)

前者の専用のアプリケーションを利用することで、ブラウザーから登録する手順に比べて、GUI が充実しており簡単に登録が可能です。

ただ、64 bit アプリケーションとして開発されているため、32 bit OS 上で動作させることができません。

32 bit OS を利用してる場合、アプリケーションを起動すると以下のようなエラーが発生し登録ツールを利用することができません。その場合は、ブラウザー上から実行するか 64 bit OS を用意し実行しましょう。

image

image

以上、Azure Data Catalog の紹介と、アプリケーションの起動時の注意点をお伝えしました。お役に立てたら幸いです。

2016 年 12 月 SQL Server 最新モジュール

$
0
0

2016 年 12月 29日 時点の SQL Server 最新モジュールです。

SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。
SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。

サービス
パック

更新プログラム

バージョン

リリース年月

SQL Server 2016

SP1

無し

13.0.4001.0

2016/11
メインストリームサポート

SQL Server 2014

SP2

KB 3204388 (CU3)

12.0.5538.0

2016/12
メインストリームサポート

SQL Server 2012

SP3

KB 3194992 (CU6)

11.0.6567.0

2016/11
メインストリームサポート

SQL Server 2008 R2

SP3

無し

10.50.6000.0

2014/9
延長サポート
※2014年7月8日にメインストリームサポートが終了しました。

SQL Server 2008

SP4

無し

10.0.6000.0

2014/10
延長サポート
※2014年7月8日にメインストリームサポートが終了しました

 

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

SQL Server の更新プログラムの詳細については、SQL Server の更新プログラムを参照して下さい。

メインストリームサポート、延長サポートについては、マイクロソフトサポートライフサイクルを参照して下さい。

Troubleshooting Connectivitiy #8 –エラー番号からわかる接続失敗原因 :エラー26

$
0
0

 

高橋 理香
SQL Developer Support Escalation Engineer

みなさん、こんにちは。
このシリーズの前回のポストから2年半以上経過してしまいましたが、まだ書きたいこともあり、終了はしていません!今回は接続時のエラーのうち、特徴的なエラーである
エラー番号 26 と出力されている場合のトラブルシューティングについて紹介したいと思います。

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified)

エラー 26 の主な原因

SQL Server Browser サービスへの問い合わせが失敗した場合に発生するエラーです。

接続時に SQL Server Browser サービスを使用する仕組みについては、トピック “SQL Server Browser サービス” に説明がありますが、簡単に図解すると次のようになります。


SQLBrowser

この過程の ⑦ に到達する前に何かしら問題があった場合に返されるエラーが 26 のエラーです。そのため、主な原因は以下の通りです。

  • SQL Server Browser サービスが開始されていない。
  • ファイアウォールやルーター等で UDP ポート 1434 がブロックされている。
  • 接続文字列に指定された接続先の名前解決に失敗した。
  • SQL Server Browser サービスが現在のインスタンスや待ち受けプロトコルの情報を取得できない。
    (レジストリへのアクセス権限、不適切なレジストリ設定等)

なお、既定インスタンスは TCP/IP プロトコルでは TCP ポート 1433 で待ち受けるものであると既定で判断されるため、既定インスタンスへの接続時には SQL Server Browser サービスへのアクセスは行われません。そのため、名前付きインスタンスへの接続として処理されている場合においてのみ発生するエラーです。

エラー 26 発生時にまずは確認すること!

原因はともかく、接続を成功させることを目標とする場合には SQL Server Browser サービスへを利用しない接続手法を選択することがエラー 26 への対処となります。SQL Server Browser サービスを利用するのは接続先の SQL Server インスタンスの待ち受けプロトコルや待ち受けポート番号やパイプ名がわからない場合ですので、あらかじめサーバー側のそれらの情報さえ入手できれば、次のような方法で SQL Server Browser サービスを利用せずに SQL Server インスタンスに接続することができます。

  • 接続文字列中に接続に使用するプロトコルや待ち受けのポート番号やパイプ名を明示的に指定する。
  • 接続に使用するプロトコルや待ち受けのポート番号やパイプ名を指定した別名を作成し、接続文字列ではこの別名を使用する。

参考: Troubleshooting Connectivity #5 – セッション確立までの動作 – “名前付きインスタンスへの接続で SQL Server Browser サービスは必須か” のセクション参照

上記のような対処を採用できない (たとえばアプリケーションで使用される接続文字列の変更がすぐには行えないなど) 場合には、次の順番で設定等の不足の確認や対処を行います。

  1. SQL Server Browser サービス起動状態の確認

    サービスが起動していなければ名前付きインスタンスの待ち受けプロトコルやポート番号の情報は接続処理で自動的に得ることはできません。そのため、SQL Server 構成マネージャーで SQL Server Browser サービスの稼動状態を確認し、停止している場合にはそれを起動します。
    SQLBrowser_service
  2. SQL Server 稼動環境のファイアウォール設定や通信経路上のルーター等における通信許可/拒否設定の確認

    SQL Server サービスへの問い合わせでは UDP ポート 1434 が使用されるため、ファイアウォールやルーターでこの UDP 1434 との通信がブロックされている場合には名前付きインスタンスの待ち受けプロトコルやポート番号の情報は自動的に得ることはできません。そのため、UDP ポート 1434 の通信が可能となるようファイアウォールやルーター等の設定を変更することが対処となります。
  3. 名前解決可否の確認SQL Server Browser サービスは起動しており、UDP ポート 1434 へのアクセスも可能であるはずであるにも関わらずエラーが発生する場合、名前解決に問題があって想定の SQL Server Browser サービスへの問い合わせが行われていない可能性があります。この場合にはまず最初に以下の切り分けを行います。以下の方法で成功する場合には、DNS の登録、もしくは、DNS への問い合わせに問題がないか確認し、その対処を行います。(nslookup コマンドで想定通り名前解決されているか確認するとよいでしょう。)
    • 接続文字列中の接続先にホスト名の代わりに IP アドレスを指定する。
    • Hosts ファイルに接続先の名前に対して正しい IP アドレスを指定する。
  4. ローカルマシンからの接続、別のリモートマシンからの同じ接続先への接続試行可否の確認SQL Server Browser サービスは起動状態、UDP ポート 1434 へのアクセス可能、名前解決にも問題がないにも関わらずエラーが発生する場合、SQL Server Browser サービスが何らかの要因でリクエストへの応答を返せていないことが原因となっている可能性があります。この場合、SQL Server Browser サービスへのアクセスが必要となるような接続はどのマシンからも失敗することが想定されます。この場合には詳細な調査が必要となりますので、後述の 「調査のために採取する情報」に記載の情報の収集の上、サポートへの問い合わせを検討ください。

調査のために採取する情報

エラー発生確認後の切り分け状況によりますが、原因箇所の特定を進めるにおいて必要となる情報の種類や採取手順は次の通りです。

A. 採取する情報の種類

  • BID トレース
  • ネットワーク トレース
  • PortQry コマンド実行結果
  • ping や nslookup コマンド実行結果
  • レジストリ [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server] 配下の情報
  • システム情報
  • イベント ログ
  • SQL Server エラーログ

B. 採取手順

B-1. 事前準備

<PortQry ツールの入手、配置>
あらかじめ PortQry ツールをダウンロードし、アプリケーション稼動環境と SQL Server 稼動環境にコピーしておきます。

  1. PortQry ツールを以下のサイトから任意のマシンにダウンロードします。
    PortQry Command Line Port Scanner Version 2.0
  2. SQL Server 稼動環境にダウンロードした PortQryV2.exe (自己解凍書庫形式) をのちに本ツールを実行する環境にコピーします。
  3. PortQryV2.exe をダブルクリックで実行し、展開先のパスを指定して [Unzip] します。

<BID トレース採取の各種設定>
SQL Server 稼動環境とアプリケーション稼動環境の両方で採取するため、両マシンにてそれぞれ準備を行います。
必要となる準備作業は、以下のブログに記載の 2-1 に記載の手順です。
HowTo: BID トレース – データアクセス アプリケーションのトレースを採取する

上記手順の 2-1-5 では、対象とする ETW プロバイダを以下の通り選択します。

  • SQL Server 稼動環境: SQLBROWSER.1
  • アプリケーション稼動環境: SQL Server への接続に使用するプロバイダ (*)

(*) たとえば .NET Framework のアプリケーションで System.Data.SqlClient を使用している場合や Management Studio で接続検証を行っている場合には System.Data.1 と System.Data.SNI.1 を選択します。

B-2. 事象発生時情報採取開始

<SQL Server 稼動環境での作業>

  1. 管理者権限のあるユーザーで Windows にログインします。
  2. SQL Server Browser サービスを停止します。
  3. BID トレース採取を開始します。
    以下のブログの手順 2-2 に記載の手順を実行します。
    HowTo: BID トレース – データアクセス アプリケーションのトレースを採取する
  4. SQL Server Browser サービスを起動します。
  5. 以下のコマンドでネットワーク トレース採取を開始します。
    netsh trace start capture=yes tracefile=<出力先パス>

 

<アプリケーション実行環境での作業>

  1. 管理者権限のあるユーザーで Windows にログインします。
  2. BID トレースの採取を開始します。(SQL Server 稼動環境と同様にブログの 2-2 の手順を実行します。)
  3. ネットワーク トレース採取を開始します。(SQL Server 稼動環境と同様のコマンドを実行します。)
  4. エラーを再現させます。

B-3. 事象発生時情報採取終了

<アプリケーション実行環境での作業>

  1. 以下のコマンドでネットワーク トレース採取を停止します。
    netsh trace stop
  2. BID トレースの採取を停止します。先のブログの 2-3 を実行します。

<SQL Server 稼動環境での作業>

  1. ネットワーク トレース採取を停止します。実行するコマンドはアプリケーション実行環境と同じコマンドです。
  2. BID トレースの採取を停止します。アプリケーション実行環境と同様に先のブログの 2-3 を実行します。

B-4. 調査用情報の収集

<SQL Server 稼働環境での情報収集>

  1. コマンド プロンプトを開き、PortQry を配置したフォルダに移動してから以下のコマンドを実行し、出力先に指定したファイルを収集します。
    portqry -n <SQL Server 稼動環境のホスト名> -e 1434 -p UDP -l <出力先ファイルパス>
    portqry -n <SQL Server 稼動環境の IP アドレス> -e 1434 -p UDP -l <出力先ファイルパス>
  2. 以下のブログを参考に、イベント ログ、および、SQL Server エラーログを収集します。
    [SQL Troubleshooting] 第1回 : Tips – SQL Server エラーログとイベント ログを採取する (SQL 2000 ~ 2014) Ver 2.0
  3. 以下のコマンドでシステム情報をファイルに出力し、そのファイルを収集します。
    msinfo32 /report <システム情報出力ファイルパス>
  4. レジストリ エディタ (regedit.exe) を起動し、以下のキー配下の情報をファイルにエクスポートします。[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server]
  5. 先に採取した BID トレースをブログの 2-4 の手順で変換し、元の .etl ファイルと変換後の .csv ファイルを収集します。
  6. 先に採取したネットワーク トレースを収集します。

<アプリケーション実行環境での情報収集>

  1. コマンド プロンプトを開き、以下のコマンドを実行した結果をテキストファイルに保存、もしくは、スクリーンショットを取得します。
    ping <ホスト名>
    ping -a <IP アドレス>
    nslookup <IP アドレス>
    nslookup <ホスト名>

  2. コマンド プロンプトを開き、PortQry を配置したフォルダに移動してから以下のコマンドを実行し、出力先に指定したファイルを収集します。
    portqry -n <SQL Server 稼動環境のホスト名> -e 1434 -p UDP -l <出力先ファイルパス>
    portqry -n <SQL Server 稼動環境の IP アドレス> -e 1434 -p UDP -l <出力先ファイルパス>

 

過去の Troubleshooting Connectivity シリーズはこちら。

 Troubleshooting Connectivity #1 – SQL Server への接続clip_image001

 Troubleshooting Connectivity #2 – エラー情報からわかる失敗原因

 Troubleshooting Connectivity #3 – 予期しない接続切断

 Troubleshooting Connectivity #4 – 接続エラーの調査方法

 Troubleshooting Connectivity #5 – セッション確立までの動作

 Troubleshooting Connectivity #6 – 接続タイムアウトは悪なのか?

 Troubleshooting Connectivity #7 – 接続タイムアウトエラーまでの時間は?

 

2017 年 1 月 SQL Server 最新モジュール

$
0
0

2017 年 1月 19日 時点の SQL Server 最新モジュールです。

SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。
SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。

サービス
パック

更新プログラム

バージョン

リリース年月

SQL Server 2016

SP1

KB 3208177 (CU1)

13.0.4411.0

2017/1
メインストリームサポート

SQL Server 2014

SP2

KB 3204388 (CU3)

12.0.5538.0

2016/12
メインストリームサポート

SQL Server 2012

SP3

KB 3205051 (CU7)

11.0.6579.0

2017/1
メインストリームサポート

SQL Server 2008 R2

SP3

無し

10.50.6000.0

2014/9
延長サポート
※2014年7月8日にメインストリームサポートが終了しました。

SQL Server 2008

SP4

無し

10.0.6000.0

2014/10
延長サポート
※2014年7月8日にメインストリームサポートが終了しました

 

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

SQL Server の更新プログラムの詳細については、SQL Server の更新プログラムを参照して下さい。

メインストリームサポート、延長サポートについては、マイクロソフトサポートライフサイクルを参照して下さい。

Viewing all 153 articles
Browse latest View live


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