SQL2005 - Web Assistant

PříspěvekNapsal: 24.05.2007 13:23
od jan.havranek
WEB ASSISTANT
Podle MS nebude tato funkcionalita (používá se obvykle pro generování externích HTML pohledů na data uložená v SQL databázi) nadále podporována. Ve výchozím stavu po instalaci SQL2005 opravdu funkční není, ale zprovoznit se dá (testováno naposledy na SQL2005SP2).

Postup:
1/ musí se nastavit potřebná konfigurace SQL (Options)
2/ musí se vygenerovat potřebná tabulka a dvě procedury do systémové databáze MSDB

Info:
Podle nalezených informací může být problém s funkčností služby Web Assistant a to tehdy pokud je služba SQL Server spuštěna pod WindowsNT účtem. Doporučujeme tedy službu SQL registrovat již při instalaci pod LocalSystem účet (lze také změnit dodatečně v SQL Server Configuration Manager)

SQL script pro nastavení služby Web Assistant:
Kód: Vybrat vše
--nastavení potřebných options na SQL2005
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
EXEC sp_configure 'Ole Automation Procedures', 1
EXEC sp_configure 'Web Assistant Procedures', 1
GO
RECONFIGURE
GO

--vytvoření tabulky webtasků
USE [msdb]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[mswebtasks](
[procname] [nvarchar](128) COLLATE Czech_CI_AS NOT NULL,
[outputfile] [nvarchar](255) COLLATE Czech_CI_AS NOT NULL,
[taskstat] [bit] NOT NULL,
[wparams] [image] NULL,
[trigflags] [smallint] NULL,
[taskid] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
 
--vytvoření procedury sp_updmswebtask
USE [msdb]
GO
CREATE PROCEDURE sp_updmswebtask 
    @procname  nvarchar(128), 
    @wparams  image 
AS 
    UPDATE dbo.mswebtasks 
 SET wparams = @wparams 
 WHERE procname = @procname 
GO
 
--vytvoření procedury sp_insmswebtask
USE [msdb] 
GO
CREATE PROCEDURE sp_insmswebtask 
    @procname  nvarchar(128), 
    @outputfile  nvarchar(255), 
    @taskstat  bit, 
    @wparams  image, 
    @trigflags  smallint, 
    @taskid   int 
AS 
    INSERT INTO  dbo.mswebtasks(procname, outputfile, taskstat, wparams, trigflags, taskid) 
     VALUES(@procname, @outputfile, @taskstat, @wparams, @trigflags, @taskid)
GO