SQL Server で参照整合性制約 (Foreign Key 制約) が設定され、明示的にテーブル間のリレーションが設定されているかの情報を SSMS だとデータベースダイアグラムを作成することで確認することができます。
# 参照整合性制約が設定されているとテーブル間の JOIN をした際の効率性が (NULL の判断の最適化) 変わるはずなので、リレーション設定はいろいろなドキュメントで推奨されているかと。
似たような情報を SQL で取得するためのクエリを書いてみました。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
SQL Server で参照整合性制約 (Foreign Key 制約) が設定され、明示的にテーブル間のリレーションが設定されているかの情報を SSMS だとデータベースダイアグラムを作成することで確認することができます。
# 参照整合性制約が設定されているとテーブル間の JOIN をした際の効率性が (NULL の判断の最適化) 変わるはずなので、リレーション設定はいろいろなドキュメントで推奨されているかと。
似たような情報を SQL で取得するためのクエリを書いてみました。
SQL Server でデータのインポート / エクスポートをする際には BCP ユーティリティを使用することが多いかと思います。
この BCP ユーティリティですが、単一のインプットファイルの中の特定のデータ範囲だけをインポート / エクスポートをするための機能があります。
今回はこの機能について少し書いてみたいと思います。
なお、この方法は SQL Database Migration Wizard でも使用されている方法になるようです。
# 設定ファイルの ChunkSize という項目がインポートデータの始点と終点の範囲を決めるための設定となり、データファイル内の特定の範囲をインポートしてから、次のデータ範囲を処理するという流れになっているようです。
オンプレミスの SQL Server から SQL Database に移行する際に、SQL Database Migration Wizard を使用するとツールベースで移行をすることができます。
このツールを使用するための実行環境の作り方についてまとめてみたいと思います。
SQL Data Sync の基本構成について少しまとめてみたいと思います。
今回はオンプレミスの SQL Server と SQL Database 間の同期設定を対象としています。
基本的な情報については SQL データ同期プレビュー が参考になります。
SQL Data Sync は Sync Framework を元に作成されているようですので詳細な動作に関してはこのあたりも確認をしておくとよいかもしれないですね。
なお、旧ポータルからの操作は 5 月で実施できなくなるようです。
フィルターに関しては現状のポータルでは作成できなくなるようですのでこの辺は注意が必要そうですね。
SQL Server のデータベースをパッケージングかするためのフレームワークとして DACFx (Data-Tier Application Framework) があります。
以前、sqlpackage と AzCopy を使用した SQL Database のデータ退避 という投稿を書きました。
データ層アプリケーション (DAC) に関しては SQL Server 2008 から登場したものですが当時は dacpac という定義情報のみを抽出するものでした。
SQL Server 2012 になり DAC BACKPAC というデータを含んだデータ層アプリケーションの抽出が可能になりました。
この機能を使用して、SQL Server 2012 より下位のバージョンの bacpac の作成についてまとめてみたいと思います。