1.在查詢分析器理啟動或停止SQL Agent服務 啟動 use master go xp_cmdshell 'net start SQLSERVERAGENT' 停止 use master go xp_cmdshell 'net stop SQLSERVERAGENT' 將服務的啟動從手工方式改為自動啟動方式 exec xp_cmdshell 'scm -Action 7 -Service MSSQLserver -SVCStartType 2' 直接用命令列執行引號內的內容也可以。 2、啟動不正常原因和處理 表面上看SQL Server agent 服務啟動正常,但在查看作業的屬性與作業記錄時都出現如下錯誤: 錯誤14258:當SQLServerAgent正在啟動時,無法執行此操作。請稍後再試。 可能原因: 選擇了"使用 Windows NT 纖程",具體原因不明。 解決方案: 企業管理器--右鍵SQL執行個體--屬性--處理器--取消選擇"使用 Windows NT 纖程" 然後重新啟動sql服務 修改了系統密碼 解決方案: a. 我的電腦--控制台--管理工具--服務--右鍵 MSSQLSERVER--屬性--登陸--登陸身份--選擇"本地系統帳戶" 或: b.我的電腦--控制台--管理工具--服務--右鍵 MSSQLSERVER--屬性--登陸--登陸身份--選擇"此帳戶"--選擇 administrator ,密碼和確認密碼中輸入你的administrator密碼. 兩者的區別: 選擇第一種方式,以後修改了administrator密碼,不用再調整(但要求登陸作業系統的是系統管理員) 資料庫非法DOWN機出現故障 解決方案: 用安裝光碟片重新安裝,然後選擇‘進階選項’—‘重建註冊表’,然後一路下去…… /* **取得某項服務是否啟動 HOME haoK.Y **2004-10-20 根據 net start返回的結果判斷某項服務是否啟動 **樣本 DECLARE @IsOnWorking BIT EXEC spServiceIsOnWorking 'MSSQL$NEWINSTANCE', @IsOnWorking OUTPUT SELECT @IsOnWorking */ CREATE PROCEDURE spServiceIsOnWorking ( @ServiceName VARCHAR(100), @IsOnWorking BIT OUTPUT ) AS SET NOCOUNT ON CREATE TABLE #Output ( OT VARCHAR(100) ) INSERT INTO #Output EXEC master..xp_cmdshell 'net start' SET @IsOnWorking = CASE WHEN EXISTS ( SELECT TOP 1 1 FROM #Output WHERE OT LIKE '%' + @ServiceName + '%' ) THEN 1 ELSE 0 END DROP TABLE #Output SET NOCOUNT OFF GO SQL的分布式關聯性物件(SQL-DMO)庫允許你的VB6應用程式自動地同SQL伺服器進行互動操作。這對於擷取關於SQL伺服器的資訊很有用,例如伺服器的狀態或者網路上的可用伺服器。
要使用SQL-DMO庫,就要設定一個對“微軟SQL-DMO物件程式庫”的參照。 Application對象的ListAvailableSQLServers方法會返回一個NameList對象,它包含有網路上可用伺服器的列表。下面的代碼顯示了一個使用這個方法來填充列表框控制項的方法: Dim objSQLApp As SQLDMO.Application Dim objNameList As SQLDMO.NameList Dim intCount As Integer Set objSQLApp = New SQLDMO.Application Set objNameList = objSQLApp.ListAvailableSQLServers() For intCount = 1 To objNameList.Count Call List1.AddItem(objNameList.Item(intCount)) Next SQL-DMO庫裡另外一個有用的對象是SQLServer對象。這個對象能夠被用來擷取關於特定SQL伺服器的資訊。Connect方法會建立到資料庫伺服器的串連並接受三個參數:資料庫名、使用者名稱和密碼。一旦對象的串連成功了,關於伺服器的資訊就能夠被取回: Dim objSQLServer As SQLDMO.SQLServer Set objSQLServer = New SQLDMO.SQLServer objSQLServer.LoginSecure = True Call objSQLServer.Connect("MyServerName", "username", "password") Debug.PrintobjSQLServer.Name Debug.PrintobjSQLServer.HostName Debug.PrintobjSQLServer.Status 恢複使用 xp_cmdshell |