Thông tin ngữ cảnh không có phạm vi (theo nghĩa là phạm vi biến ngôn ngữ) và bị ràng buộc với thời gian tồn tại của phiên. Sau khi được đặt, thông tin ngữ cảnh vẫn ở giá trị đã đặt cho đến khi kết nối bị đóng (phiên kết thúc) hoặc cho đến khi một giá trị mới được đặt. Vì việc thực thi trên một phiên là luôn luôn tuần tự, không có câu hỏi về sự đồng thời.
NẾU bạn đặt thông tin ngữ cảnh trong một thủ tục, bất kỳ trình kích hoạt nào được thực thi sau đó trên phiên đó sẽ thấy giá trị thông tin ngữ cảnh mới được đặt. Đặt giá trị id người dùng trong thông tin ngữ cảnh, như bạn đề xuất và sử dụng nó trong trình kích hoạt là ví dụ điển hình của việc sử dụng thông tin ngữ cảnh và hoàn toàn an toàn về tính đồng thời, vì về cơ bản không có đồng thời để nói đến. Nếu bạn định đặt thông tin ngữ cảnh trong một quy trình được lưu trữ và sau đó dựa vào thông tin đó trong một trình kích hoạt chạy do các lần xóa xảy ra trong quy trình đã nói, thì lô của bạn vẫn chưa hoàn thành, theo bài viết bạn đã liên kết, bạn truy xuất thông tin conetxt từ sys.dm_exec_requests
DMV hoặc từ CONTEXT_INFO()
hàm số. Nó sẽ chưa được đẩy vào sys.dm_exec_sessions
, điều đó chỉ có thể xảy ra sau khi bạn thoát khỏi quy trình đã lưu trữ và kết thúc bất kỳ lệnh gọi nào khác trong lô T-SQL được gửi đến máy chủ ('yêu cầu').