How to Get the SQL Azure Session Tracing ID using PHP

At the Intersection of PHP and Microsoft

How to Get the SQL Azure Session Tracing ID using PHP

Rate This
  • Comments 0

The SQL Azure team recently posted a blog about SQL Azure and the Session Tracing ID. The short story about the Session Tracing ID is that it is a new property (a unique GUID) for connections to SQL Azure. The nice thing about it is that if you have a SQL Azure error, you can contact Azure Developer Support and they can use it to look-up the error and help figure out what caused it. (If you are just getting started with PHP and SQL Azure, see this post: Getting Started with PHP and SQL Azure.)

Getting the Session Tracing ID is easy with PHP…just execute the following query: SELECT CONVERT(NVARCHAR(36), CONTEXT_INFO()). Here’s the PHP code for doing this:

$server = "tcp:YourServerID.database.windows.net,1433";
$user = "YourUserName@YourServerID";
$pass = "YourPassword";
$database = "DatabaseName";
$connectionoptions = array("Database" => $database, "UID" => $user, "PWD" => $pass);
$conn = sqlsrv_connect($server, $connectionoptions);

if($conn === false)
{
    die(print_r(sqlsrv_errors(), true));
}

$sql = "SELECT CONVERT(NVARCHAR(36), CONTEXT_INFO())";
$stmt = sqlsrv_query($conn, $sql);
$row = sqlsrv_fetch_array($stmt);
print_r($row);

Of course, the code above assumes you have the SQL Server Driver for PHP installed. And, if you are watching closely, you’ll notice that I didn’t have to include the “MultipleActiveResultSets”=> false in my connection options array…because SQL Azure now supports Multiple Active Result Sets (MARS).

That’s it for today…hope this can come in handy.

Thanks.

-Brian

Share this on Twitter

Leave a Comment
  • Please add 1 and 8 and type the answer here:
  • Post