發表文章

目前顯示的是有「MSSQL」標籤的文章

如何從 SQL Server 預存程序呼叫 API (Calling an API from SQL Server stored procedure)

在 SQL Server 預存程序中呼叫 API,通常需要使用 SQL Server 的內建功能,例如 sp_OA* 系列存儲過程 或基於 CLR 的自定義功能。以下是幾種實現方式及其步驟。 方法 1:使用 sp_OA* 系列存儲過程 SQL Server 內建了 sp_OACreate 和 sp_OAMethod 等存儲過程,可以用來呼叫外部 COM 物件(例如用於發送 HTTP 請求)。 範例:透過 sp_OA* 呼叫 REST API sql CREATE PROCEDURE CallExternalAPI AS BEGIN DECLARE @Object INT DECLARE @ResponseText NVARCHAR(MAX) DECLARE @URL NVARCHAR( 200 ) = 'https://api.example.com/data' -- 創建對象 EXEC sp_OACreate 'MSXML2.XMLHTTP' , @Object OUT -- 發送 HTTP GET 請求 EXEC sp_OAMethod @Object , 'Open' , NULL , 'GET' , @URL , FALSE EXEC sp_OAMethod @Object , 'Send' -- 獲取響應 EXEC sp_OAMethod @Object , 'responseText' , @ResponseText OUTPUT -- 打印響應內容 PRINT @ResponseText -- 清理對象 EXEC sp_OADestroy @Object END GO 注意 安全性 : sp_OA* 功能默認是禁用的,因為它存在安全風險。您需要啟用它才能使用: sql EXEC sp_configure 'show advanced options' , 1 ; RECONFIGURE; EXEC sp_configure 'Ole A...

在insert資料時取得序號欄位值(臨時資料表)

drop table if exists #test_t create table #test_t (   sn bigint,   sid nvarchar(50),   no nvarchar(50),   name nvarchar(50) ) insert into test(sid, no, name) output inserted.sn, inserted.sid, inserted.no, inserted.name into #test_t values('123','1','2') insert into test(sid, no, name) output inserted.sn, inserted.sid, inserted.no, inserted.name into #test_t values('222','1','2') select * from #test_t select * from test

SQL設定SQL Server最大連線數及查詢語句

今天遇到了關於Sql Server最大連線數(Max Pool Size)的問題,後來通過查詢一些資料解決了,所以想著總結下關於SQL Server最大連線數的內容,所以這篇文章主要介紹了SQL設定SQL Server最大連線數與查詢語句,有需要的朋友們可以參考借鑑。 一、設定最大連線數 下面的T-SQL 語句可以配置SQL Server 允許的併發使用者連線的最大數目。 ? 1 2 exec sp_configure  'show advanced options' , 1 exec sp_configure  'user connections' , 100 第一句用以表示顯示 sp_configure  系統儲存過程高階選項,使用 user connections  時,要求 show advanced options  值為1。 第二句配置最大連線數為100,0 表示不限制,但不表示無限,後面將談談。 也可以在企業管理器中配置,在企業管理器中,可以在例項上點右鍵->“屬性”->“連線”裡面更改。 需要重新啟動SQL Server,該值才會生效。 ? 1 @@max_connections ? 1 select @@max_connections 它總是返回32767,它並不是指上面設定的 user connections ,實際上它表示 user connections  最大可設定為多少。由於它的最大值是32767,那麼 user connections  為0 時,最大連線數也就是32767 了,並不是無限。 預設情況下 user connections  值是0,也就是說預設情況下SQL Server 的最大連線數是32767。 二、獲得當前設定的最大連線數: ? 1 select value  from master.dbo.sysconfigures  where [config]=103 三、如何監測SQLServer的連線數 ? ...