Concordo com os pontos de todos aqui, mas se você realmente quisesse ou precisasse, você poderia habilitar a integração CLR no SQL Server, criar um assembly que pudesse redimensionar sua imagem e chamá-lo de um gatilho ou proc. Não é muito difícil. Aqui uma página que descreve o processo:http:// msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx
Basicamente para habilitar o CLR no SQL Server:
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
Crie um assembly c# para redimensionar sua imagem:
using System;
using System.Data;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;
public class ResizeImageProc
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ResizeImage(int ImageID, int width, int height)
{
//TODO: ResizeImage Code
}
}
Compile a montagem
csc /target:library ResizeImageProc.cs
Carregue o assembly no SQL Server:
CREATE ASSEMBLY ResizeImageAssembly from 'c:\ResizeImageProc.dll' WITH PERMISSION_SET = SAFE
Crie o procedimento
CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage
Depois disso, você pode chamá-lo como um proc normal. Por exemplo:
EXEC ResizeImage(1,800,600)