SE の雑記

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

Archive for the ‘SQL Server’ Category

SQL Server における可変長文字列の末尾の空白について

one comment

SQL Server の可変長文字列 (varchar / nvarchar) では、

  • ‘AAAA’

というような文字列をデータとして登録した場合、可変長文字列では

  • ‘AAAA’

というように設定されている文字列のみが登録されます。

char(10) というような固定長文字列型にデータを入れた場合には、

  • ‘AAAA      ‘

といった形で空白が付与されて固定長文字列として処理がされます。
それでは、

  • ‘AAAA   ‘

というようなデータに空白が含まれるものを入れた場合にはどうなるかを本投稿で見ていきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 20th, 2014 at 5:36 pm

Posted in SQL Server

Tagged with

SQL Server 2014 を使用したメンテナンスプランの移行方法について

leave a comment

SQL Server 2014 としていますが、SQL Server 2005 SP1 以降であれば、おそらく使えるのではと思っています。
# SQL Server 2008 は CU3 以降かもしれませんが…。

以下の情報も参考になります。

Automating Deployment of SQL Server Maintenance Plans
SSIS package query
SSIS Package Extract from MSDB
How to Transfer(Copy) Maintenance Plans from One Server to other???….

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 17th, 2014 at 8:58 pm

Posted in SQL Server

Tagged with

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