SQL Server での更新ロックを使った排他制御

よくあるやつですが、諸々の事情で取り合えず書いときます。 めっちゃ簡略化したシナリオ 分離レベルはデフォルトの read committed 入庫と出庫 + 在庫を更新するケースで、 しかも update で現在値を計算するのではなく直接設定するケース。 ※update 在庫 s…

SQL Server 2019 の _UTF8 照合順序は日本語ではサイズ増える?

SQL Server 2019 CTP3.0 時点の情報です SQL Server 2019 の新機能 - SQL Server | Microsoft Docs 見てたら char/varchar でも UTF-8 がサポートされたよーってあったので見てみました。 照合順序と Unicode のサポート - SQL Server | Microsoft Docs より…

06/18(火) SQLWorld★大阪#50 開催します #sqlworld

令和最初の SqlWorld :: SQLWorld★大阪#50 開催します! 32回目の平日夜開催で、前回同様 ハンズオン 形式行う予定です。 【日時】 2019年06月18日(火曜日) 19:00~21:00 【イベント概要】 令和最初の SQLWorld、今回で32回目の平日夜開催~。今回も、みん…

SSMS 18 で Diagram が無くなった

追記:18.1 で復活しました SSMS 18.1 で Diagram が復活した - お だ のスペース SSMS 18.0 が GA しました。*1 Download SQL Server Management Studio (SSMS) - SQL Server | Microsoft Docs リリースノートの 「Deprecated and removed features in 18.0…

.NET Core の DacFx の bacpac 試してみた

.NET Core 2.2 のコンソールアプリなら、 NuGet Gallery | Microsoft.SqlServer.DACFx 150.4384.2-preview でシンプルな DB なら問題無く bacpac 取れた。 .NET Core 2.1 なら、幾つかのアセンブリが古いっぽいので、バージョン上げたら動いた。 System.Data…

.NET で SQL Server/Database のbacpac を取得する

質問されたので書いときます。 DacFx 使ってサクッと出来ますよ~。 NuGet Gallery | Microsoft.SqlServer.DacFx.x64 150.4384.2 var connstr = @"~"; var dac = new DacServices(connstr); dac.ExportBacpac(@"d:\TurorialDB.bacpac", "TutorialDB"); 細か…

6/8(土) 第10回 関西DB勉強会やります!

6月8日(土) やります! 今回も色んな DB のお話しがありますので、是非ご参加を~。 kansaidbstudy.connpass.com

メモ:コネクションプールを使ってる時の SqlConnection を Close した時の内部動作

GitHub 上でコード追っかけたのでメモ ※実行してトレースしたわけでは無いので間違ってるかも 生きてる SqlTransaction があっても、Rollback 呼んでそう。 SqlConnection.Close() で SqlConnection.CloseInnerConnection() https://github.com/dotnet/coref…

メモ:SQL Server 2019 Hybrid Buffer Pool

2019 の新機能見てて何やろ~?って思ったのでメモ。 Hybrid Buffer Pool - SQL Server | Microsoft Docs 2019 CTP2.1 から。 PMEM に データベース ファイル を置いてると、バッファープール に読み込まずに直接読むっぽい。 直接読むのは クリーン ページ …

メモ:create table で filtered な unique index を作る

ドキュメントの構文に載ってないけどなんか出来たのでメモ。 SQL Server での unique 制約は unique index で実現されてます。 なので、unique 制約を作る = unique index を作る です。 UNIQUE 制約を作る場合 Create Unique Constraints - SQL Server | Mi…

02/19(火) SQLWorld★大阪#49 開催します #sqlworld

2019年最初の SqlWorld :: SQLWorld★大阪#49 開催します! 31回目の平日夜開催で、前回同様 ハンズオン 形式行う予定です。 【日時】 2019年02月19日(火曜日) 19:00~21:00 【イベント概要】 2019年最初の SQLWorld、今回で31回目の平日夜開催~。今回も、…

複合主キーを代理キー(サロゲートキー)に変えると、外部キー制約が弱くなる時がある

外部キー制約が弱くなるってなんやって話しですが、分かりやすいように例を交えて 取引先と取引先組織が親子関係、注文には2つの組織(請求先組織, 出荷先組織)を持つとした場合に、 取引先組織を複合主キーのまま定義するとこんな感じ。 create table [取引…

Visual Studio の Database Project で Temporal Table 使ってると公開が失敗することがある

列の型を変えたり、Temporal Table が要らなくなって、定義から消した場合*1にやられる。。 Cannot change data types of a temporal table columns - Developer Community 回避方法は ↑ に書いてある通り、*.dbmdl 消したり、↓ のような alter で Temporal …

メモ:存在しない行を HOLDLOCK すると、Range でロックする

たまたま試す機会があったのでメモ。 テーブル ヒント (Transact-SQL) - SQL Server | Microsoft Docs には HOLDLOCK は SERIALIZABLE 相当と書かれていて、 SERIALIZABLE では、 SERIALIZABLE 分離レベルで実行しているトランザクションと同じセマンティク…

DACFX の .NET Core 版がぼちぼち出る?

DacFx .NET Core Support · Issue #20 · Microsoft/DACExtensions · GitHub 試してませんが preview あるようです。 NuGet Gallery | Microsoft.SqlServer.DACFx 150.4240.1-preview

SQL Server 2019 から sparkjava を実行してみた

SQL Server 2019 CTP2 で Java を動かしてみた - お だ のスペース で紹介した external_script で Java を呼べる機能を使って、Spark Framework: An expressive web framework for Kotlin and Java を実行してみました。 meetup app osaka@3 で Spark on SQ…

meetup app osaka@3 で Spark on SQL Server? という話ししました #meetupapp

なんか色々トラブった*1けど、無事やりきりました。 ざっくり解説すると、 SQL Server 2019 で Big Data Cluster が出て、Spark ジョブも叩けるよーからの、 SQL Server 2019 で追加された Java language extension in SQL Server 2019 - SQL Server Machine…

12/22(土) meetup app osaka@3 で SQL Server 2019 の話しします

今週土曜12/22 に meetup app osaka@3 - connpass で SQL Server 2019 の話しします。 といっても 15分程度なのでサラッと話す感じですが、内容は「えっ?」ってなるような物を用意しています。 人を選びそうなネタになっていますが、DB系の勉強会では無いの…

SQL Server 2019 CTP2 で Java を動かしてみた

SQL Server 2019 から external_script で Java が呼べるようになりました。 Java language extension in SQL Server 2019 | Microsoft Docs How to call Java from SQL | Microsoft Docs Java language extension in SQL Server 2019 | Microsoft Docs Java…

メモ:Tech Summit 2018 Day2

2日目~ 即実践! Azure SQL Database Managed Instance 移行 SQL Server 2008 から Azure SQL DB MI(Managed Instance) への移行ハンズオン 2008 のサポートがそろそろ切れるからなんかな? イベント全体的に 2008 どうにか使用感があった。 移行方法は ネ…

メモ:TechSummit 2018 Day1

Microsoft Tech Summit 2018 | インフラエンジニア、アーキテクト、IT IT 戦略にかかわる皆様の為の技術カンファレンス - Microsoft Events & Seminars 行ってきたのでメモ。 Key note Microsoft Tech Summit 2018 基調講演 (日本語通訳付き) | 日本マイ…

ASP.NET Core で Controller や View を別アセンブリにする

.NET Core 2.1 から Razor Class Library で出来るようになってます。 Reusable Razor UI in class libraries with ASP.NET Core | Microsoft Docs ※2.0 以前で出来るのかは調べてません。 VS で プロジェクトテンプレートから作成すると、.net standard 2.0…

第9回 関西DB勉強会で SQL Server のお話ししてきました! #dbkan

第9回 関西DB勉強会 - connpass 「SQL Server のロック概要~初心者向け~」というタイトルで、SQL Server のロックについてお話ししました。 デモを中心にする予定でしたが、時間足らずでトランザクション分離レベルでのロック時間の変化は見せれずじまい。…

10/23(火) SQLWorld★大阪#48 開催します #sqlworld

SqlWorld :: SQLWorld★大阪#48 開催します。30回目の平日夜開催で、前回同様 ハンズオン 形式行う予定です。 【日時】 2018年10月23日(火曜日) 19:00~21:00 【イベント概要】 SQLWorld 30回目の平日夜開催~。今回も、みんなで SQL を書いてみようというハ…

プロ生 で Blazor のお話ししてきました

プログラミング生放送勉強会 第53回@GMOインターネット(大阪) : ATND で Blazor の話ししてきました。 スライド はこちら Blazor 触ってみた from Oda Shinsuke https://www.facebook.com/silverlight.tw じゃないよとかそんな感じの話し。 ネタとして、 …

プログラミング生放送勉強会 第53回@GMOインターネット(大阪)で Blazor の話しします

プログラミング生放送勉強会 第53回@GMOインターネット(大阪) : ATND ちょっとだけ触ったので、軽い紹介くらいのお話しします。*1 懇親会はこちら プログラミング生放送勉強会 第53回@GMOインターネット(大阪)懇親会 : ATND 懇親会は参加出来るか不明…

メモ Blazor アプリが iOS で動かない時の対応

テンプレートのプロジェクトを iOS でアクセスしたら、動かないー。 調べてみたら Blazor 0.2.0 applications fail to load in Safari on macOS/iOS · Issue #625 · aspnet/Blazor · GitHub issue では、Blazor 0.2.0 ってなってるけど、最新の Blazor 0.5.1…

いつの間にか SMO (SQL Server Management Objects) が .NET Core に対応してました

去年から対応してたみたいー。 NuGet Gallery | Microsoft.SqlServer.SqlManagementObjects 140.17283.0 PowerShell Core から叩くブログとかもありました。

メモ Windows10 ストアで入れる Skype でマイクとカメラが使えないときに確認する

PC 買い換えてから初 Skype でマイクとカメラが使えなくてハマった。。 デフォでカメラとマイクが オフ なんかー。 インストールした記憶がないので、プリインでの設定なんかなー? サウンドテストの方法は、 Skype でサウンドをテストする (エコー テスト通…

メモ Blazor

Welcome to the Blazor preview docs website! FAQ FAQ · aspnet/Blazor Wiki · GitHub Blog A new experiment: Browser-based web apps with .NET and Blazor | ASP.NET Blog Get started building .NET web apps that run in the browser with Blazor | AS…