SQL Server

tbls で SQL Server のデータベースからドキュメントを生成

コードファーストで開発していた Web サービスのテーブル資料を求められたので、既存のデータベースから生成するツールを探したら良いの見つけた。 github.com SQL Server にあるデータベースから、Markdown と SVG を生成できた。 tbls doc mssql://ログイ…

Azure SQL Database の CREATE DATABASE AS COPY OF の罠

Azure SQL Database で使える CREATE DATABASE AS COPY OF は、裏で geo レプリケーションが行われている。その geo レプリケーションが完了する前に、ソースのデータベースをリネームしようとすると、下記の例外が発生する。 The operation cannot be perfo…

ElasticPool に属するデータベースの一覧を取得する SQL

sys.database_servic_objectives という、Azure SQL Database (の SQL Server)にあるシステムビューを見れば分かる。後は sys.databases と JOIN すれば OK。 SELECT * FROM sys.databases AS d INNER JOIN sys.database_servic_objectives AS o ON d.databa…

Azure SQL Database でデータベースをまたがった SQL を実行可能にする手順メモ

Azure SQL Database でも、 外部データソースと外部テーブルを使ってデータベースをまたがった SQL を実行できるので、 手順をメモしておく。 マスターキーの作成 CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<パスワード>' データベース スコープ ベース…

EntityFrameworkCore で SQL Server の IDENTITY プロパティを使うときの注意点

EntityFrameworkCoreのバージョンは v2.0.1。 例えば次のようなテーブルがあるとする。 create table Entry ( Id bigint identity(1,1) not null, Title nvarchar(100) not null, Body nvarchar(max) null, constraint pk_Entry primary key clustered ( Id …

SQL Server で緯度経度から住所を検索する

緯度経度を使って住所を検索する必要があったが、 SQL Server の地理空間データ型(geography)を使うことで手軽に実現することができたのでメモしておく。 -- 緯度経度と住所を格納するテーブルを作成 CREATE TABLE addresses ( id bigint IDENTITY(1,1) NOT …

PostgreSQL の pgbench みたいな SQL Server 用ベンチマークツール

実際に発行する SQL を使ったベンチマークを SQL Server でやりたいので、 使えそうなツールを探してみた。 必要な機能は次の通り。 ODBC 接続 ファイルから SQL を読み込んで実行 サーバーとデータベースを指定できる 回数を指定して同じ SQL を繰り返し実…