Azure SQL DB:mssql-scripter を使ったスクリプトの生成

2017年7月19日 [Azure SQL DB: Generate scripts by using mssql-scripter]粗訳

データベーススクリプトの生成に、オープンソースのコマンドラインインターフェースの mssql-scripter をご利用いただけます。mssql-scripter は、SQL Server Management Studio で使用されている、 スクリプト生成・パブリッシュウィザードと同等のマルチ OS コマンドラインです。

Linux、macOS、Windows で mssql-scripter を使用して、SQL Server (動作している場所を問わず)、Azure SQL Database、および、Azure SQL Data Warehouse のデータベースオブジェクト向けの、データ定義言語(DDL)、データ操作言語(DML) T-SQL スクリプトを生成できます。生成された T-SQL スクリプトを .sql ファイルに保存するか、標準的な (sed、awk、grepの様な) unix ツールで、パイプ処理できます。生成されたスクリプトは修正したり、ソース管理にチェックインできます。その後、既存の SQL Database 、 SQL Data Warehouse のデプロイメント、DevOps パイプラインで、sqlcmd など、マルチプラットフォーム対応の SQL コマンドラインツールで、実行できます。

mssql-scripter は、Python を使って構築され、新しい Azure CLI 2.0 ツールのユーザビリティの原則を組み込んでいます。ソースコードは、GitHub 上で管理され、あなたのコントリビューションとプルリクエストを歓迎します。また、インストール、および、クイックスタートガイド(英語)が利用可能です。

2017年7月1日より、Azure SQL Database へのアクセスは、新ポータルからのみになります。

2017年6月23日 [Azure SQL Database accessible only through the Azure portal from July 1, 2017]粗訳

2015年、Azure ポータル は一般提供開始になりました。2017年7月1日より、Azure SQL Database の管理に、Azure クラシックポータルの代わりに、Azure ポータルをご利用いただく必要があります。

Azure SQL Database の管理に、Azure ポータルを利用することに慣れていない場合、次のチュートリアルをご参照ください:

ご質問がある場合は、メール(英語)でコンタクトください。

Azure SQL Data Warehouse:mssql-scripter のサポート

2017年6月22日 [Azure SQL Data Warehouse: Supported in mssql-scripter]粗訳

最新の mssql-scripter リリースで、Azure SQL Data Warehouse がサポートされました。ms-sqlscripter は、SQL Server Management Studio で、広く利用されているスクリプト生成ウィザードのエクスペリエンスと同様のマルチプラットフォームコマンドラインツールです。

Linux、MacOS、および、Windows で、mssql-scripter を使用して、SQL Server (オンプレミス、クラウド問わず)、Azure SQL Database 、Azure SQL Data Warehouse のデータベースオブエクと向け、データ定義言語 (DDL)・データ操作言語 (DML) T-SQL スクリプトを生成できます。生成された T-SQL スクリプトを .sql ファイルに保存したり、変換のために、標準的な unix ツール(例:sed、awk、grep) にパイプ渡したりできます。生成されたスクリプトの編集や、ソースコード管理へチェックインもできます。また、既存 SQL Database や SQL Data Warehouse のデプロイメントプロセスと、DevOps のパイプラインで、sqlcmd などの標準マルチプラットフォーム SQL コマンドラインツールを使用して、スクリプトを実行できます。

mssql-scriper は、Python 上に構築され、新しい、Azure CLI 2.0 のユーザビリティ原則が組み込まれています。ソースコードは、GitHub から入手可能で、コントリビュートとプルリクエストを歓迎します。また、インストール、および、クイックスタートガイドが利用可能です。

アップデート:Azure SQL Database Premium のインメモリOLTP

2017年6月5日 [Update: In-Memory OLTP in Azure SQL Database Premium]粗訳

本日より、Azure SQL Database Premium のインメモリ OLTP テクノロジーの以下の改良をご利用いただけます。

  • メモリ最適化テーブル上に、8つ以上のインデックスの作成
  • sp_rename を使ったメモリ最適化オブジェクトの名前変更
  • コミット依存関係の数の制限の撤廃。今後、その主旨のエラーメッセージは、表示されません。
  • ネイティブコンパイルされた T-SQL モジュールでの、CASE 式、CROSS APPLY オペレーター、すべての JSON 機能の利用
  • メモリ最適化テーブルでの計算カラムの作成

これらの改良の詳細については、ブログ(英語)をご覧ください。

新規作成の Azure SQL database は、安全のためデフォルトで暗号化されます

2017年5月2日 [Newly created Azure SQL databases will be encrypted at rest by default]粗訳

本日より、すべての新規 Azure SQL database は、利用者全員が安心して暗号化できるように、デフォルトで透過的に暗号化されます。

デフォルトでの暗号化は、リージョン毎に実施されていきます。特定のデータベースの暗号化を望まない場合、データベースのプロビジョニング後に暗号化をオフにできます。このデフォルトの変更は、復元、ジオレプリケーション、データベースのコピーによって作成された既存のデータベースには影響しません。

Azure SQL database の透過的なデータ暗号化は、2年前から利用可能でした。それ以来、データベースストレージ(データファイル、ログファイル、バックアップ)への不正アクセスから保護する暗号化機能が備わっており、アプリケーションの変更が必要なく、パフォーマンスへの影響が少ないため、SQL データベースコミュニティで広く採用されています。

透過的なデータ暗号化についての詳細については、以下をご覧ください。

お使いの SQL Database のセキュリティを向上するそのほかの方法については、SQL Database の保護をご覧ください。

Azure AQL Database の新しい T-SQL 関数

2017年3月1日 [New T-SQL string functions in Azure SQL Database] 粗訳

Azure SQL Database で、新しい集計関数と文字列関数が利用できます:

  • STRING_AGG() 集計 、特定のセパレーターを使って、テーブルからの連続した値を集計する。以下は、従業員の、カンマで区切られた電話番号とセミコロンで区切られたメールアドレスを返すクエリーの例です:

SELECT DepartmentName, STRING_AGG ( Phone, ',' ) as Phones,

STRING_AGG ( EmailAddress, ';' ) WITHIN GROUP (ORDER BY EmailAddress) as Emails
FROM Employee
GROUP BY DepartmentName

追加の WITHIN GROUP 句を使用して、連結前に値をソートできることに注意してください。この例では、メールアドレスがアルファベット順にソートされています。

  • TRIM() 関数、文字列の両サイドから任意の文字を削除。以下の例では、最初の列でトリミングされている記事の説明を返します。2番目の列で、ドット、カンマ、セミコロンがトリミングされます:

SELECT TRIM (Description), TRIM( '.,!' FROM Description)
FROM Article

  • CONCAT_WS() 関数、最初のパラメータとして定義されたセパレーターを使用して、値を連結します。以下のクエリーは、アドレス部分をカンマで区切って、顧客名と住所を返します。:

SELECT Name, CONCAT_WS ( ',', AddressLine1, AddressLine2, Town, Region, Country, ZipCode) as FullAddress
FROM Customers

すべての新しい関数は、ネイティブコンパイルされたストアドプロシージャ、関数、トリガーでも使用できます。

パブリックプレビュー:SQL Database 向け、インタラクティブなクエリーインターフェース

2017年1月19日 [Public preview: Interactive query experience for SQL databases] 粗訳

Azure ポータル内に、SQL Database 向けの軽量な T-SQL エディタが追加されました。お使いのデータベースのコンテキストに、、直接、インタラクティブにクエリーを実行できます。クエリーの実行に、クライアントマシンのポートをあけたり、クライアントツールをインストールしたりする必要はありません。快適にこのエディタをご利用いただけます:

  • リアルタイムワークロードのインサイト向け、動的管理ビューのクエリー
  • アドホッククエリーの発行
  • ユーザー認証などの管理

エディタをご利用になるには、SQL Database へ移動し、ツールボタンを選択し、その後、クエリーボタンを選択してください。

パブリックプレビュー:クラスター化列ストアインデックスでの、文字列、および、バイナリー列

2017年1月4日 [Public preview: String and binary columns in clustered columnstore indexes] 粗訳

サイズ無制限の文字列、および、バイナリー列が、Azure SQL Database (Premium レベル)で、クラスター化列ストアインデックスで利用できるようになりました。クラスター化列ストアインデックスは、NVARCHAR(MAX), VARCHAR(MAX), and VARBINARY(MAX) など、大きな文字列型、もしくは、バイナリータイプを持つテーブルで作成できます。

以下のコードは、テーブル上に作成されたクラスター化列ストアインデックスをもつ NVARCHAR(MAX) 列を含むテーブルの例を示しています:

CREATE TABLE Logs (
    DateLogged datetime2,
    Type varchar(20),
    Data NVARCHAR(MAX),
    INDEX cci CLUSTERED COLUMNSTORE
)

クラスター化列インデックスは、文字列やバイナリー列の高いデータ圧縮率(最大10倍)を提供します。

パブリックプレビュー:新しい T-SQL 言語機能

2016年12月28日 [Public preview: New T-SQL language features] 粗訳

新しいT-SQL言語機能は、Azure SQL Database Premium でメモリ最適化テーブルおよびネイティブコンパイル済みストアドプロシージャがしようできりょうになりました。以下の機能が追加されています:

  • メモリ最適化テーブルに、計算列を追加できます。計算列にはネイティブコンパイルモジュールでサポートされている式を含められます。
  • 永続化された計算列にメモリ最適化されたインデックスを追加できます。
  • ネイティブコンパイルモジュールは、新しい TーSQL 演算子、および、関数をサポートしています:
    • すべての JSON 関数が、ネイティブコンパイルモジュールで利用可能です。
    • CROSS APPLY 演算子がネイティブコンパイルモジュールで利用可能です。

計算式と CROSS APPLY 演算子は、従来のテーブルとストアドプロシージャで、以前より利用可能な機能で、今回、ネイティブコンパイルモジュールでも利用可能になりました。 JSON  関数を利用するには、Azure SQL Database の JSON 機能をご確認ください。ジュライのテーブルやストラ土プロシージャで利用可能な、同一の JSON 機能をメモリ最適化されたテーブルやネイティブコンパイルモジュールで利用可能です。