小编Max*_*mus的帖子

SSIS DataFlowTask DefaultBufferSize 和 DefaultBufferMaxRows

我有一个任务,它使用数据流任务将记录从 Oracle db 提取到我们的 SQL。该套餐每天运行约 45 分钟。此包将刷新约 15 个表。除了一个,其他都是增量更新。所以几乎每个任务都运行 2 到 10 分钟。

完全更换的一包运行长达 25 分钟。我想调整此数据流任务以使其运行得更快。

表中只有 400k 行。我确实阅读了一些关于 DefaultBufferSize 和 DefaultBufferMaxRows 的文章。我有以下疑问。

  1. 如果我可以将 DefaultBufferSize 设置为 100 MB,是否有任何地方可以查看或分析我可以提供多少。

  2. DefaultBufferMaxRows 设置为 10k。即使我给了 50k 并且我为 DefaultBufferSize 提供了 10 MB,如果它只能容纳大约 20k,那么 SSIS 会做什么。只是忽略那些 30k 记录还是它仍然会拉出所有那些 50k rocords(假脱机)?

  3. 我可以使用日志记录选项来设置适当的限制吗?

sql ssis bids dataflowtask sql-server-2008

5
推荐指数
1
解决办法
6115
查看次数

在SQL Server中查找前1个最匹配的字符串

我有一个表' MyTable ',它有一些商业逻辑.此表有一个名为Expression的列,其中包含使用其他列构建的字符串.我的疑问是

Select Value from MyTable where @Parameters_Built like Expression
Run Code Online (Sandbox Code Playgroud)

变量@Parameters_Built是通过连接所有输入参数构建的.

在我目前的情况下,

@Parameteres_Built='1|2|Computer IT/Game Design & Dev (BS)|0|1011A|1|0|'

Below are the expressions
---------------------
%%|%%|%%|0|%%|%%|0|
---------------------
1|2|%%|0|%%|%%|0|
---------------------
1|%%|%%|0|%%|%%|0|
---------------------
Run Code Online (Sandbox Code Playgroud)

所以我的上面的查询对于所有三行都返回true.但它应该只返回第二行(最大匹配).

我只是不需要针对此方案的修复解决方案.这只是一个例子.我需要一个像选择最佳匹配的解决方案.任何的想法?

sql string sql-server-2005 sql-like

1
推荐指数
1
解决办法
4171
查看次数

此存储过程是否容易受到SQL注入攻击?

此存储过程将检查用户名和密码,1如果凭据匹配则返回0.

CREATE PROCEDURE usp_CheckPermisssions 
    @UserName NVARCHAR(50),
    @Password NVARCHAR(50)
AS
BEGIN
    SET NOCOUNT ON;

    IF EXISTS( SELECT 1 FROM dbo.Users WHERE Username=@username and Password=@password)
     RETURN 1
    ELSE
     RETURN 0
END
GO
Run Code Online (Sandbox Code Playgroud)

这只是一个示例存储过程.我只是想学习SQL注入技术,以防止我的代码被注入.

假设输入未在前端消毒.

我知道如果我在存储过程中使用动态查询或在前端定义查询,那么SQL注入技术将起作用.

不是:输入将通过前端传递.

换句话说我的问题

任何人都可以对此查询进行注射吗?如果有,怎么样?

sql sql-injection sql-server-2008

1
推荐指数
1
解决办法
5007
查看次数