このセッションでは、<br /><ul><li>クラウド上のSQLについて学ぶ
SQL Serverと異なる点
簡単に移行する方法</li></ul>SQL Azure<br />
自己紹介<br />Twitter:@SQLAzureJP<br />Blog:蒼の王座 http://sqlazure.jp/b/<br />メーカー系SIerでPublic Sectorなお仕事<br />昨年度までは全社のSQL Serv...
SQL Azureを知っていますか?<br />
Azure…私のお金はどこに?<br />ローカルストレージ<br />非構造化<br />Blob Storage<br />Tables <br />Queues<br />(NOT relational)<br />リレーショナルを使いた...
SQL Serverの歴史<br />
SQL AzureはSQL Serverがベース<br />どんどんガラパゴス化?<br />
SQL Server<br />SQL Azure<br />次世代データベースプラットフォーム<br />アーキテクチャ<br />
データベース<br />Data Sync<br />Reporting<br />Datamarcket<br />
ServerはMachineでは無い<br />SQL Server<br />Machine<br />SQL Azure Server<br />TDS Endpoint<br />
アプリケーション<br />ツール<br />動作方法<br />ODBC<br />ADO.NET<br />TDS<br />SQL Azure Server<br />Connection Routing<br />Billing<br ...
サーバの設定<br />http://windows.azure.comにアクセス<br />
データベースの作成<br />以前は、http://sqlazurelabs.comで公開されていたHouston<br />
Silverlight SQL Manager<br />基本的なデータベース管理機能<br />Table, Views, Stored Procedureの作成<br />クエリの実行<br />データベースオブジェクトの管理<br />
SSMSで接続<br />
SQL Azureデータベース作成<br />
検討ポイント...<br />アプリケーション接続<br />互換性<br />移行<br />管理 & セキュリティ<br />価格、サイズ、エディション<br />Code Near vs. Code Far vs. Hybrid<br /...
SQL Azureへ接続<br />SQL Azureの接続文字列は、以下のように通常のSQLと同じ<br />アプリケーションから直接データベースへ接続する<br />“Initial Catalog = <db>” in connectio...
SQL Azure Firewall<br /><ul><li>SQL Azure用のIPアドレスベースのアクセスコントロール</li></ul>初期値はすべてのIPを拒否<br /><ul><li>SQL Azure Portalを使用して設定
Windows Azureにホストされたアプリケーションからのアクセス許可・非許可の設定</li></ul>インターネット<br />
SQL Azure 互換性<br />現時点は未サポート<br />現在サポートしている<br />テーブル、インデックス、ビュー<br />ストアドプロシージャ<br />トリガー<br />制約<br />Table変数, 一時tempテー...
SQL Azure セキュリティ<br />伝統的なSQL Server vs SQL Azure<br />SQL認証のみ使用でき、Windows認証は使用できない<br />データベースユーザとロールによる制御<br />MasterDBに...
SQL Azure セキュリティ<br />認証と承認モデル<br />SQL Azureは、Mirosoft SQL Serverで使用したのと同じような実績のある認証と承認モデルを使用している<br />サーバレベルでの認証接続、権限設定<...
承認、監査、暗号化のサポート<br />SQL Azureは、オンプレミスのSQL Serverと同じデータベースレベルの権限モデル<br />Logins associated to users in databases<br />Users...
マイグレーション選択肢<br /><ul><li>スクリプト生成ウィザード
SQL Azureと互換性のあるスキーマやデータのSQLスクリプトの生成
SQL Serverマイグレーションアシスタント(ダウンロード可能)
MySQL, Oracle, Access, SQL Server...
SQLAzureMW 日本語化
SQL Azureで未サポートの機能抽出に便利
効率的なデータ移行
非公式サポート
データ層アプリケーションコンポーネント(DAC)
T-SQLによる新たなデプロイ単位インストール、アンインストールのサポート
ポリシーによる制御</li></ul>Data-tier Application Component<br />Schema<br />LOGICAL<br />Tables, Views, Constraints, SProcs, UDFs,...
セキュリティモデル<br />一般的なSQLセキュリティモデルを使用<br />ログインとユーザやロールをマッピングした認証<br />SQLオブジェクトをユーザとロールで承認<br />標準的なSQL認証をサポート<br />ユーザ名とパスワ...
Upcoming SlideShare
Loading in …5
×

Windows Azure BootCamp - SQL Azure

1,981 views

Published on

2010/03/26のわんくま同盟勉強会で、Windows Azure BootCampのSQL Azureセクションのセッションを実施しました。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,981
On SlideShare
0
From Embeds
0
Number of Embeds
79
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Departmental ServerLocal Server – SQL CE, Express, etc.Enterprise Server – add SSIS, SSRS, etc. Around SQL 2000
  • Get SSMS 2008 R2 at http://www.microsoft.com/express/Database/InstallOptions.aspx
  • Rather than using a REST API like the other Azure storage services, SQL Azure is accessed via Tabular Data Stream (TDS), the 同じ protocol used by Microsoft SQL Server (operating over port TCP/1433). To help protect thedata, the SQL Azure firewall prevents all access to your SQL Azure server until you specify which computers have permission. The firewall grants access based on the originating IP address of each request. Initially, all access to your SQL Azure server is blocked by the SQL Azure firewall; connection attempts originating from the Internet or Windows Azure will not be able to reach your SQL Azure server. In order to begin using your SQL Azure server, you must go to the SQL Azure Portal and specify one or more firewall settings that enable access to your SQL Azure server. Use the firewall settings to specify which IP address ranges from the Internet are allowed, and whether or not Windows Azure applications can attempt to connect to your SQL Azure server.
  • This slide shows the some of thesimilarities and differences between the SQL Server and the Azure SQL security capabilities.While Microsoft SQL Server supports Windows Integrated authentication, using Active Directory credentials for user login, SQL Azure Database supports only SQL Server Authentication. Windows Authentication (integrated security) is not supported. Both Microsoft SQL Server and SQL Azure use the 同じ authorization model, with users and roles created in each database and associated to the user logins. Microsoft SQL Server has fixed server-wide roles such as serveradmin, securityadmin and dbcreator. These roles do not exist in SQL Azure. Instead SQL Azure has a loginmanager role for creating logins and dbmanager role for creating and manage databases. These roles can only be assigned to users in the master database. Access to both SQL Server and SQL Azure happens on the wire using the 同じ Tabular Data Stream (TDS) application layer protocol, protected using the Secure Sockets Layer (SSL) protocol, over TCP port 1433. Use of SSL is optional for Microsoft SQL Server and mandatory for SQL Azure.In SQL Server any IP address-based access control needs to be done at the host or network level, using a host firewall or a network firewall. SQL Azure has a built-infirewall that prevents all access to your SQL Azure server until the customer specifies which computers have permission. The firewall grants access based on the originating IP address of each request. SQL Server provides realtime encryption of the stored data at page level, using its Transparent Data Encryption (TDE) feature. Native encryption is currently not available for SQL Azure.
  • Key point – SQL Azure uses the 同じ familiar, proven authentication and authorization model used by Microsoft SQL server.Many databases contain sensitive data, so it is essential to carefully control access. This is especially important in a multi-tenant application that involves users from different customers who must be isolated from each other. SQL Azure provides the 同じ set of security principals that are available in SQL Server with SQL Server Authentication. You can use these to authorize access and secure your data:SQL Server Logins: Used to authenticate access to SQL Azure at the server level.Database Users: Used to grant access to SQL Azure at the database level.Database Roles: Used to group users and grant access to SQL Azure at the database level.
  • Managing security at the database-level in SQL Azure is almost identical to Microsoft SQL Server, with differences only in the parameters available.The database-level permission model in SQL Azure is 同じ as an on-premise instance of SQL Server:Logins associated to users in databases. Users may be part of one or more database roles.Permissions granted to roles or directly to users.Auditing feature is not supported in the current version of SQL Azure. SQL Azure does not currently support the Transparente Data Encryption (TDE) feature available in Microsoft SQL Server.SQL Azure forces SSL encryption with all client connections and hence data is secured over the wire. When defining the connection string to SQL Azure, developers should use the following parameters:Encrypt=True specifies that SSL must be used in the connection.TrustServerCertificate specifies whether encryption occurs if there is no verifiable server certificate. Setting the value to False forces the client to verify the validity of the certificate presented by SQL Azure.
  • TechEd 2010 Announcements - http://blogs.msdn.com/b/cbiyikoglu/archive/2010/06/10/pricing-for-the-new-large-sql-azure-databases-explained.aspx.
  • Windows Azure BootCamp - SQL Azure

    1. 1. このセッションでは、<br /><ul><li>クラウド上のSQLについて学ぶ
    2. 2. SQL Serverと異なる点
    3. 3. 簡単に移行する方法</li></ul>SQL Azure<br />
    4. 4. 自己紹介<br />Twitter:@SQLAzureJP<br />Blog:蒼の王座 http://sqlazure.jp/b/<br />メーカー系SIerでPublic Sectorなお仕事<br />昨年度までは全社のSQL Server技術支援<br />Microsoft MVP - SQL Azure<br />
    5. 5. SQL Azureを知っていますか?<br />
    6. 6. Azure…私のお金はどこに?<br />ローカルストレージ<br />非構造化<br />Blob Storage<br />Tables <br />Queues<br />(NOT relational)<br />リレーショナルを使いたい<br />SQL Azureへようこそ…<br />
    7. 7. SQL Serverの歴史<br />
    8. 8. SQL AzureはSQL Serverがベース<br />どんどんガラパゴス化?<br />
    9. 9. SQL Server<br />SQL Azure<br />次世代データベースプラットフォーム<br />アーキテクチャ<br />
    10. 10. データベース<br />Data Sync<br />Reporting<br />Datamarcket<br />
    11. 11. ServerはMachineでは無い<br />SQL Server<br />Machine<br />SQL Azure Server<br />TDS Endpoint<br />
    12. 12. アプリケーション<br />ツール<br />動作方法<br />ODBC<br />ADO.NET<br />TDS<br />SQL Azure Server<br />Connection Routing<br />Billing<br />Provisioning<br />Server<br />Server<br />Server<br />SQL Server<br />SQL Server<br />SQL Server<br />SQL Azure Fabric<br />SQL Azure Fabric<br />SQL Azure Fabric<br />
    13. 13. サーバの設定<br />http://windows.azure.comにアクセス<br />
    14. 14. データベースの作成<br />以前は、http://sqlazurelabs.comで公開されていたHouston<br />
    15. 15. Silverlight SQL Manager<br />基本的なデータベース管理機能<br />Table, Views, Stored Procedureの作成<br />クエリの実行<br />データベースオブジェクトの管理<br />
    16. 16. SSMSで接続<br />
    17. 17. SQL Azureデータベース作成<br />
    18. 18. 検討ポイント...<br />アプリケーション接続<br />互換性<br />移行<br />管理 & セキュリティ<br />価格、サイズ、エディション<br />Code Near vs. Code Far vs. Hybrid<br />パーティショニング、シャーディング、フェデレーション<br />バックアップとレプリケーション<br />
    19. 19. SQL Azureへ接続<br />SQL Azureの接続文字列は、以下のように通常のSQLと同じ<br />アプリケーションから直接データベースへ接続する<br />“Initial Catalog = <db>” in connection string<br />データベースの切り替え文は未サポート (USE <db>は使用できない)<br />1つのバッチに1つしか記述できないコマンドがある<br />Create/Alter/Drop Database & Create/Alter/Drop Login, & Create/Alter USER with FOR/FROM LOGIN <br />暗号化セキュリティ<br />Set Encrypt = True, only SSL connections are supported<br />TrustServerCertificate = False, avoid Man-In-The-Middle-Attack!<br />認証用ユーザ名のフォーマット:<br />ADO.Net:Data Source=server.database.windows.net;User ID=user@server;Password=password;...<br />Firewallのルールを最初に設定する!<br />
    20. 20. SQL Azure Firewall<br /><ul><li>SQL Azure用のIPアドレスベースのアクセスコントロール</li></ul>初期値はすべてのIPを拒否<br /><ul><li>SQL Azure Portalを使用して設定
    21. 21. Windows Azureにホストされたアプリケーションからのアクセス許可・非許可の設定</li></ul>インターネット<br />
    22. 22. SQL Azure 互換性<br />現時点は未サポート<br />現在サポートしている<br />テーブル、インデックス、ビュー<br />ストアドプロシージャ<br />トリガー<br />制約<br />Table変数, 一時tempテーブル (#t)<br />空間型, HierarchyId<br />データ型<br />スパース列, Filestream<br />パーティション<br />フルテキストインデックス<br />SQL-CLR<br />テーブルはクラスタ化インデックスが必須<br />
    23. 23. SQL Azure セキュリティ<br />伝統的なSQL Server vs SQL Azure<br />SQL認証のみ使用でき、Windows認証は使用できない<br />データベースユーザとロールによる制御<br />MasterDBにサーバロールlogin manager とdbmanagerロールの追加<br />TCPポート 1433上のSSLとTDS経由の接続<br />SQL Azure標準のFirewall でIPブロッキング<br />標準で暗号化は未サポート<br />SQL認証とWindows 認証<br />データベースユーザとロールによる制御<br />serveradmin, securityadmin ,dbcreatorのようなサーバロール<br />TCPポート 1433上のSSLとTDS経由の接続<br />ホストFirewallを使用したFirewall と IPブロッキング<br />標準で暗号化 (TDE)のサポート<br />
    24. 24. SQL Azure セキュリティ<br />認証と承認モデル<br />SQL Azureは、Mirosoft SQL Serverで使用したのと同じような実績のある認証と承認モデルを使用している<br />サーバレベルでの認証接続、権限設定<br />データベースレベルでの認証接続、権限設定<br />データベースレベルでのユーザグループと権限設定<br />21<br />
    25. 25. 承認、監査、暗号化のサポート<br />SQL Azureは、オンプレミスのSQL Serverと同じデータベースレベルの権限モデル<br />Logins associated to users in databases<br />Users may be part of one or more database roles<br />Permissions granted to roles or directly to users<br />現在のバージョンのSQL Azureでは、監査は未サポート<br />まだ標準で暗号化(TDE)をサポートしていない<br />Azureは SSL暗号化と接続文字列での証明書チェックのオプション<br />Encrypt=True;TrustServerCertificate=False<br />
    26. 26. マイグレーション選択肢<br /><ul><li>スクリプト生成ウィザード
    27. 27. SQL Azureと互換性のあるスキーマやデータのSQLスクリプトの生成
    28. 28. SQL Serverマイグレーションアシスタント(ダウンロード可能)
    29. 29. MySQL, Oracle, Access, SQL Server...
    30. 30. SQLAzureMW 日本語化
    31. 31. SQL Azureで未サポートの機能抽出に便利
    32. 32. 効率的なデータ移行
    33. 33. 非公式サポート
    34. 34. データ層アプリケーションコンポーネント(DAC)
    35. 35. T-SQLによる新たなデプロイ単位インストール、アンインストールのサポート
    36. 36. ポリシーによる制御</li></ul>Data-tier Application Component<br />Schema<br />LOGICAL<br />Tables, Views, Constraints, SProcs, UDFs,<br />PHYSICAL<br />Users, Logins, Indexes<br />Unit of Deployment<br />Future - DAC Deployment Profile<br />Deployment Requirements, Management Policies, Failover Policies<br />
    37. 37. セキュリティモデル<br />一般的なSQLセキュリティモデルを使用<br />ログインとユーザやロールをマッピングした認証<br />SQLオブジェクトをユーザとロールで承認<br />標準的なSQL認証をサポート<br />ユーザ名とパスワード<br />セキュリティモデルはオンプレミスのSQLと互換性がある<br />
    38. 38. サイズ<br />Business<br />50 GB<br />Web<br />5 GB<br />
    39. 39. 価格<br />SQL Azure Development Accelerator Core - $74.95<br />http://microsoft.com/japan/windowsazure/pricing/<br />
    40. 40. 現時点のSQL Azureスケールアウト<br />データベースの柔軟なプロビジョニング<br />CREATE DATABASE and go<br />仮想でも、サーバでも無い<br />使用料に応じたビジネスモデル<br />物理管理は無し<br />高可用性、パッチ、メンテナンスはビルトイン<br />Database Copy, SQL Azure Data Sync<br />
    41. 41. バックアップ<br />2種類のリスク: ディザスターリカバリとSQLによる破壊<br />バックアップ機能は、現時点で未サポート<br />次バージョンの最優先機能<br />提供予定<br />コードで他のロケーションへのデータ移行<br />ファイルエクスポート<br />もしかするとBCPかSSIS<br />
    42. 42. Database Copy<br />データベースを同じサーバか別のサーバのデータベースへトランザクションコピー<br />コピー元のデータベースのダウンタイムは無し<br />Transactional equivalent at the END of the copy<br />同じデータセンター のみ動作<br />同じサーバの認証情報が必要<br />元DBのdb_owner権限と転送先のdbmanager権限が必要<br />
    43. 43. Database Copy<br />CREATE DATABASE destination_database_name AS COPY OF [source_server_name.]source_database_name<br />進捗状況の確認:<br />SELECT * FROM sys.dm_database_copies<br />
    44. 44. 日本固有の問題<br />照合順序<br />タイムゾーン<br />
    45. 45. SQL Azure Data Sync – 主要機能<br />柔軟にスケール<br />成長に応じたリソースをスケールさせるサービス<br />コードなしで同期設定<br />同期するデータの定義が簡単<br />スケジュール同期<br />同期させるデータを選択する方法<br />衝突のハンドリング<br />複数個所で同じデータを変更された場合の検知<br />ロギングとモニタリング<br />問題の監視とデータの追跡が可能<br />課金<br />
    46. 46. オンプレミスとクラウドの双方向同期<br /> SQL ServerとSQL Azureの同期<br />SQL Azure<br />メリット<br /><ul><li>クラウドへの置き換えよりもクラウドへ拡張するシナリオ
    47. 47. 投資した既存のインフラを使用しつつクラウドを活用することができる
    48. 48. エンタープライズをクラウドで補完する</li></ul>Sync<br />
    49. 49. 小売店や支店へのデータ提供<br />SQL AzureからSQL Serverへの同期<br />メリット<br /><ul><li>支店や小売店などとデータを共有する。データをエンドユーザの近くに置く
    50. 50. 遅延が少ない– データ接続にラウンドトリップが必要なし
    51. 51. 高可用性– サーバがこけてもアプリを使用可能
    52. 52. ネットワーク帯域の減少– ほとんどのデータ接続はローカル</li></ul>SQL Azure<br />
    53. 53. SQL Azure Data Sync CTP1<br />http://azure.com)<br />同期シナリオ<br />オフライン<br />アプリケーション<br />Sync<br />Sync<br />Sync<br />Sync<br />オンプレミス<br />アプリケーション<br />Sync<br />Sync<br />Sync<br />SQL Azure Database<br />Sync<br />Sync<br />Sync<br />Microsoft Sync Framework 4.0 CTP<br />支店<br />小売店<br />SQL Azure Data Sync<br />http://azure.com<br />SQL Azure Data Sync CTP2<br />
    54. 54. まとめ<br />SQL AzureはSQL Server…TDSエンドポイント<br />既知の知識でDB作成管理が可能<br />データ移行は必要に応じて最適な方法を選択する<br />検討と未来の可能性に期待しよう<br />
    55. 55. 補足情報<br />一般的なガイドラインと制限事項(英語)http://msdn.microsoft.com/en-us/library/ee336245.aspx<br />蒼の王座http://sqlazure.jp/b/<br />

    ×