SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘SQL Server’ Category

SQL Server のバックアップのリストアと互換性レベルの整理

leave a comment

SQL Server 2014 データベース エンジンの非推奨機能SQL Server ではバックアップのリストアに下位互換があり、リストアしようとするバックアップを取得した SQL Server のバージョンにも依存するのですが、上位のバージョンでは下位のバージョンのバックアップをリストすることが可能です。
上位互換はないため、新しいバージョンで取得したバックアップを下位のバージョンにリストアすることはできません。
また、デタッチ / アタッチシナリオを利用して、データベースを新しいバージョンの SQL Server にアタッチした場合、アタッチしたタイミングでデータベースの内部のバージョンアップが行われています。
そのため、新しいバージョンでアタッチしたデータベースを下位のバージョンの SQL Server にアタッチするということもできません。

新しいバージョンに移行をした際の、切り戻し方法としてはデータベースのバックアップ / リストア、デタッチ / アタッチではなく、データベースのインポート / エクスポートを用いて実施する必要があります。

基本的には直近三世代のバージョンの SQL Server のバックアップをリストアすることが可能となっており、それ以前の世代のバックアップについてはリストアをすることができません。

簡単にではありますが、バックアップ / リストアについてまとめてみたいと思います。

本投稿では、

  • SQL Server 2000
  • SQL Server 2005
  • SQL Server 2008 R2

で取得したバックアップを

  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2014

でリストアするパターンについて記述しています。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 14th, 2014 at 11:19 am

Posted in SQL Server

Tagged with

SQL Server の TRUNCATE TABLE は何を実行しているか

leave a comment

テーブルのデータを瞬時に削除する方法として、TRUNCATE TABLE があります。

TRUNCATE TABLE (Transact-SQL)

DELETE との違いは以下になります。

DELETE ステートメントは、一度に 1 行ずつ削除し、削除した各行のエントリをトランザクション ログに記録します。  TRUNCATE TABLE は、テーブル データを格納するのに使用するデータ ページの割り当てを解除することによってデータを削除し、ページの割り当ての解除だけをトランザクション ログに記録します。

ということで、TRUNCATE TABLE が何をやっているかをざっくりと。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 14th, 2014 at 12:10 am

Posted in SQL Server

Tagged with

SQL Server のクエリチューニングの参考情報

leave a comment

SQL Server のクエリチューニングをする際に参考になる情報のメモを。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 10th, 2014 at 9:26 pm

Posted in SQL Server

Tagged with

SQL Server のインストールが失敗した場合に確認しておきたいこと

leave a comment

TechNet フォーラムに SQL Server のインストール失敗の質問がありましたので、私が同様の現象に遭遇した場合にはどうするかと考えながら、少しまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 23rd, 2014 at 3:15 pm

Posted in SQL Server

Tagged with

統計情報のサンプリングの実行プラン

leave a comment

統計情報の更新は UPDATE STATISTICS で実行することができますが、更新の際にはサンプリングの数を設定することができます。

このサンプリングの設定と統計情報更新時の実行プランについて、まとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 15th, 2014 at 10:59 am

Posted in SQL Server

Tagged with

SQL Server 2012 以降の統計情報の機能更新について

leave a comment

SQL Server 2012 以降で統計情報関連の機能で機能更新が行われ、実行プランに影響を与えるケースが見られてきましたので、どのような更新が行われてきたか軽くまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 9th, 2014 at 9:45 am

Posted in SQL Server

Tagged with

PASS Summit 2014 が開催されました

leave a comment

本日から、PASS Summit 2014 が開催されました。
キーノートについては配信がされており、http://www.sqlpass.org/summit/2014/PASStv.aspx から視聴することができます。 なお、資料については PASS Summit 2013/2014 Session Recordings から購入することも可能です。

キーノートの内容については、以下でも情報が。

Microsoft announces major update to Azure SQL Database, adds free tier to Azure Machine Learning

SQL PASS Summit 2014 Day One Keynote
Preview for greater SQL Server compatibility coming soon to Azure SQL Database

キーノートを見ながら各種画面をペタペタと。

初日のキーノートは Azure 系のサービス成分多めでした。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 6th, 2014 at 3:24 am

Posted in SQL Server

Tagged with

クエリからのバイナリデータのインポート/エクスポート

leave a comment

クエリから SQL Server のバイナリ (varbinary(max)) に対してデータをインポート / エクスポートする際のメモを。

Using OPENROWSET to read large files into SQL Server
Exporting binary file data (images) from SQL via a stored procedure
Exporting Binary Files To The File System

を参考にするとよいかと。

SSIS で実行する場合は以下が参考になるかと。
Import multiple images to SQL Server using SSIS
Export images from a SQL Server Table to a Folder with SSIS
Store Images,Documents,PDF (BLOB) Files Into SQL Server Using SSIS
Retrive Image,Document,PDF (BLOB) Files Stored In SQL Server Tables Using SSIS

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 28th, 2014 at 10:45 pm

Posted in SQL Server

Tagged with

特定のセッションで実行されているクエリが複数スレッドで実行されているかを確認

leave a comment

以下のようなクエリを実行してみます。

DECLARE @tmp char(500)
SELECT @tmp = Col1 FROM [dbo].TempDBTest ORDER BY Col1 DESC OPTION (MAXDOP 0)
GO

 

この時の実行プランは以下のようになります。

image

実行プランからは複数のスレッドによる並列クエリとして実行されていることが確認できます。

実行中のセッションについて、この確認を実行プラン以外から確認する方法を。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 22nd, 2014 at 11:09 pm

Posted in SQL Server

Tagged with

トランザクションレプリケーションの基本的な仕組み

one comment

トランザクションレプリケーションの基本的な仕組みを調べたことがなかったのでメモとして。
今回はプッシュサブスクリプションを利用しています。
レプリケーションについては、兄貴SQL Server replication overviewSQL Server のレプリケーション から情報を追ってみると良いかと。
Read the rest of this entry »

Written by Masayuki.Ozawa

10月 13th, 2014 at 2:16 pm

Posted in SQL Server

Tagged with