使用SqlCmd(Osql)查詢SQL Server伺服器執行個體
來源:互聯網
上載者:User
鄭佐 2006-2-27最近看了幾天的Sql Server 2005 的線上說明叢書,收穫還是比較大,新的sqlcmd取代了Sql Server 2000的osql,以前一直沒有注意能通過osql來列出本地網內的Sql Server 伺服器列表。使用參數有兩種顯示方式。<1>sqlcmd -LC:/Documents and Settings/Administrator>sqlcmd -L 伺服器: DATA11 DFC12 H2DATA SYC/NBJG SYC/SQLEXPRESS ZHHAIF ZHENGZUO C:/Documents and Settings/Administrator> <2> sqlcmd –LcC:/Documents and Settings/Administrator>sqlcmd -LcDATA11DFC12H2DATASYC/NBJGSYC/SQLEXPRESSZHHAIFZHENGZUO C:/Documents and Settings/Administrator>比較兩種方式,可以看出帶-Lc參數列出的伺服器列表更適合與進行程式碼分析。通過代碼擷取列表可以參考我以前寫的文章。一下內容是聯機叢書對該命令項的描述,也是我們使用過程中需要引起注意的:-L [ c ]列出在本地配置的伺服器和在網路上廣播的伺服器的名稱。此參數不能與其他參數結合使用。可以列出的伺服器的最大數目是 3000。如果伺服器列表由於緩衝區大小而被截斷,則會顯示錯誤訊息。由於網路廣播的本質,sqlcmd 可能無法及時接收到所有伺服器的響應,因此,每次調用此選項時,返回的伺服器列表可能會有所不同。如果指定選擇性參數 c,則輸出不會顯示 Servers: 標題列,且列出的每個伺服器行都沒有前置空格。這稱為清除輸出。清除輸出可以提高指令碼語言的處理效能。