none
Azure DB V12 サーバー CONTEXT_INFO が初回のみ取得できる RRS feed

  • 質問

  • Azure SQL Database のサーバーを V2 から V12 へ
    アップグレードしたところ、CONTEXT_INFO が初回接続のみ
    取得でき、2回目以降は取得できなくなってしまいました。

    以下のコンソールプログラムで動作確認しましたところ、

    using System;
    using System.Data.SqlClient;

    namespace Azure_CONTEXT_INFO
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("1st:" + (GetContextInfo() ?? "null"));
                Console.WriteLine("2nd:" + (GetContextInfo() ?? "null"));
            }

            static string GetContextInfo()
            {
                using (var conn = new SqlConnection("Data Source=○○.database.windows.net;User ID=○○;Password='○○'"))
                {
                    conn.Open();

                    using (var cmd = new SqlCommand("SELECT CONVERT(NVARCHAR(36), CONTEXT_INFO())", conn))
                    {
                        object obj = cmd.ExecuteScalar();
                        if (obj == null)
                        {
                            return null;
                        }

                        return obj.ToString();
                    }
                }
            }
        }
    }


    以下の出力結果となります。

    サーバーのバージョン:V12
    1st:07C5C765-****-****-****-************
    2nd:

    サーバーのバージョン:V2
    1st:a1434704-****-****-****-************
    2nd:a1434704-****-****-****-************

    2回目以降も取得できるような解決策はありますでしょうか。

    ※補足情報です

    コンソールプログラム実行環境の .NET Framework バージョンを記入していませんでした。4、4.5、4.5.1、4.5.2、4.6 にて確認しすべて同様の結果となりました。

    • 移動 星 睦美 2015年10月29日 2:37 Azure から
    • 編集済み rabbitpeco 2015年10月30日 1:19
    2015年10月29日 2:35