Sql server 用于编辑已存储在SQL Server中的SSIS配置的工具?
可以选择在SQL Server中保存SSIS配置。这似乎是个好主意。这样,我的SSIS包运行时不需要任何文件访问权限Sql server 用于编辑已存储在SQL Server中的SSIS配置的工具?,sql-server,sql-server-2008,ssis,config,Sql Server,Sql Server 2008,Ssis,Config,可以选择在SQL Server中保存SSIS配置。这似乎是个好主意。这样,我的SSIS包运行时不需要任何文件访问权限 但是它存储的格式对用户不友好。是否有一个工具可以让您以友好的方式查看和编辑这些设置?对于查看,我们总是使用SELECT* 我确实创建了一个proc,它为我们的配置表导出了一个特定的过滤器,我们称之为sysdtsconfig,您还可以看到我们用自己的元信息对它进行了扩展 CREATE PROCEDURE [dbo].[ConfigurationExport] ( @
但是它存储的格式对用户不友好。是否有一个工具可以让您以友好的方式查看和编辑这些设置?对于查看,我们总是使用SELECT* 我确实创建了一个proc,它为我们的配置表导出了一个特定的过滤器,我们称之为sysdtsconfig,您还可以看到我们用自己的元信息对它进行了扩展
CREATE PROCEDURE
[dbo].[ConfigurationExport]
(
@TargetFilter VARCHAR (60)
)
AS
BEGIN
SET NOCOUNT ON
DECLARE
@DynamicStatement varchar(max)
, @ConfigurationFilter nvarchar(150)
, @ConfiguredValue nvarchar(255)
, @PackagePath nvarchar(255)
, @ConfiguredValueType nvarchar(20)
, @Application nvarchar(50)
, @Category nvarchar(50)
, @Subcategory nvarchar(50)
, @Comment nvarchar(255)
-- set using statement
SELECT
@DynamicStatement = ''
-- purge existing
SELECT
@DynamicStatement = @DynamicStatement + replicate('-', 80) + char(13) + char(10)
+ '-- Remove existing settings' + char(13) + char(10)
+ replicate('-', 80) + char(13) + char(10)
SELECT
@DynamicStatement = @DynamicStatement + 'DELETE C' + char(13) + char(10) +
'FROM' + char(13) + char(10)
+ ' dbo.SYSDTSCONFIG C' + char(13) + char(10) + 'WHERE' + char(13) + char(10)
+ ' C ConfigurationFilter = ''' + @TargetFilter + '''' + char(13) + char(10)
+ char(13) + char(10)
-- add current settings
SELECT
@DynamicStatement = @DynamicStatement + replicate('-', 80) + char(13) + char(10)
+ '-- Load values for ' + @TargetFilter + char(13) + char(10)
+ replicate('-', 80) + char(13) + char(10) + char(13) + char(10)
DECLARE Csr cursor for
SELECT
ConfigurationFilter
, ConfiguredValue
, PackagePath
, ConfiguredValueType
, Application
, Category
, Subcategory
, Comment
FROM
dbo.sysdtsconfig
WHERE
ConfigurationFilter = @TargetFilter
SET NOCOUNT ON
OPEN Csr
FETCH NEXT FROM Csr INTO
@ConfigurationFilter
, @ConfiguredValue
, @PackagePath
, @ConfiguredValueType
, @Application
, @Category
, @Subcategory
, @Comment
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
SELECT
@DynamicStatement = @DynamicStatement + 'INSERT INTO' + char(13) + char(10)
+ ' dbo.SYSDTSCONFIG' + char(13) + char(10)
+ '(' + char(13) + char(10)
+ ' ConfigurationFilter' + char(13) + char(10)
+ ', ConfiguredValue' + char(13) + char(10)
+ ', PackagePath' + char(13) + char(10)
+ ', ConfiguredValueType' + char(13) + char(10)
+ ', Application' + char(13) + char(10)
+ ', Category' + char(13) + char(10)
+ ', Subcategory' + char(13) + char(10)
+ ', Comment' + char(13) + char(10)
+ ')' + char(13) + char(10)
+ 'SELECT' + char(13) + char(10)
+ ' ' + IsNull('''' + @ConfigurationFilter + '''', 'NULL')
+ ' AS ConfigurationFilter' + char(13) + char(10)
+ ', ' + IsNull('''' + @ConfiguredValue + '''', 'NULL') + ' AS ConfiguredValue' + char(13) + char(10)
+ ', ' + IsNull('''' + @PackagePath + '''', 'NULL') + ' AS PackagePath' + char(13) + char(10)
+ ', ' + IsNull('''' + @ConfiguredValueType + '''', 'NULL') + ' AS ConfiguredValueType' + char(13) + char(10)
+ ', ' + IsNull('''' + @Application + '''', 'NULL') + ' AS Application' + char(13) + char(10)
+ ', ' + IsNull('''' + @Category + '''', 'NULL') + ' AS Category' + char(13) + char(10)
+ ', ' + IsNull('''' + @Subcategory + '''', 'NULL') + ' AS Subcategory' + char(13) + char(10)
+ ', ' + IsNull('''' + @Comment + '''', 'NULL') + ' AS Comment' + char(13) + char(10) + char(13) + char(10)
END
FETCH NEXT FROM Csr INTO
@ConfigurationFilter
, @ConfiguredValue
, @PackagePath
, @ConfiguredValueType
, @Application
, @Category
, @Subcategory
, @Comment
END
CLOSE Csr
DEALLOCATE Csr
IF (len(@dynamicStatement) > 256)
BEGIN
SELECT rtrim('-- Warning, text may be truncated!' + char(13) + char(10)
+ '-- Tools, Options, Query Results, SQL Server, Results to Text -> ' + char(13) + char(10)
+ '-- Set Maximum number of characters to 8192')
UNION ALL
SELECT
rtrim(@DynamicStatement)
END
ELSE
BEGIN
SELECT
@DynamicStatement
END
END
如果这不适合您,只需抓取Mladen的免费软件并使用它编写配置表的脚本。您现在如何访问这些?通过Management Studio还是通过查询?Jason在他的31天SSIS系列中对此有什么建议吗?我制作了一组SSIS包和一个c windows窗体,可以让您将特定筛选器的一组行从一台服务器移动到另一台服务器。我不想分享,所以给你一个想法。