Maxi,
Que diferencia hay entre el EXEC y sp_executesql ?
Saludos!
_____
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Claudia Almeda
Enviado el: Miércoles, 06 de Junio de 2007 05:57 p.m.
Para: [EMAIL PROTECTED]
Asunto: [dbms] Performance
a ver lo podemos convencer
El día 6/06/07, Maxi Accotto <[EMAIL PROTECTED]> escribió:
Ya te di la solucion, debes habilitar el distribuidor de transacciones
sino no funcionara
-----------------------------------------------------------
Microsoft MVP en SQL Server
Mentor asociado en SQLTotalConsulting
(excelencia en servicios y consultoria SQLServer)
Orador Culminis - Microsoft Influencier
www.sqltotalconsulting.com <http://www.sqltotalconsulting.com>
-----------------------------------------------------------
El 6/06/07, Claudia Almeda <[EMAIL PROTECTED]> escribió:
> jajajaja daleeee
> De todos modos meti ese codigo al Sp y no funciona...
> necesito una solucion...
> es como que no me imagine que algo asi me iba a trabar...
>
>
> El día 6/06/07, Maxi Accotto < <mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]> escribió:
> > Ahh bueno! eso que han hecho es peor que lo otro, estan usando
> > SQL-Dinamico, te paso un articulo para que se lo muestres a tu DBA
> >
> > http://www.hayes.ch/sql/sql_dinamico.html
> >
> > Ademas: estas usando tablas temporales, estas usando SQL-Dinamico y
> > para colmo estas usando EXEC en lugar de sp_executesql, te diria que
> > esto esta muy mal de verdad
> >
> >
> -----------------------------------------------------------
> > Microsoft MVP en SQL Server
> > Mentor asociado en SQLTotalConsulting
> > (excelencia en servicios y consultoria SQLServer)
> > Orador Culminis - Microsoft Influencier
> > www.sqltotalconsulting.com
> >
> -----------------------------------------------------------
> >
> >
> > El 6/06/07, Claudia Almeda < [EMAIL PROTECTED]> escribió:
> > > El DBA no acepto la petision pero me paso esto y asi funciona
> > >
> > >
> > > droptable #provincias
> > >
> > > CREATETABLE #PROVINCIAS(PRO_COD VARCHAR(1),PRO_NOMBRE VARCHAR (20))
> > >
> > > [EMAIL PROTECTED] Varchar(50)
> > >
> > > [EMAIL PROTECTED] varchar(50)
> > >
> > > [EMAIL PROTECTED] varchar(50)
> > >
> > > [EMAIL PROTECTED] varchar(200)
> > >
> > > [EMAIL PROTECTED] = par_server_CPA,@baseCPA = par_base_CPA FROM
> > > parametro_oficio
> > >
> > >
> > > [EMAIL PROTECTED] = rtrim((@serverCPA )) + ',' + ''''+ rtrim
(ltrim(@baseCPA))
> +
> > > '..' + 'sp_provincias_oficio' +''''
> > >
> > > [EMAIL PROTECTED] ='SELECT * from openquery('+ @scmd + ')'
> > >
> > >
> > > INSERTINTO #PROVINCIAS
> >
> > >
> > > exec(@DBAS)
> > >
> > >
> > > El día 6/06/07, Maxi Accotto < [EMAIL PROTECTED]> escribió:
> > > > ok, luego contame como te fue
> > > >
> > > >
> > > > El 6/06/07, Claudia Almeda < [EMAIL PROTECTED] > escribió:
> > > > > Buenisimo, ahora los veo...
> > > > > en cuanto los pruebe te cuento..
> > > > > Besos...gracias
> > > > >
> > > > >
> > > > > El día 6/06/07, Maxi Accotto < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > escribió:
> > > > > > Hola, ahora esta mas claro :) es muy importante poner los
errores
> ;)
> > > > > >
> > > > > > Tu problema esta que la operacion que deseas hacer requiere
tener
> > > > > > levantado el servicio de transacciones distribuidas en los
> servidores,
> > > > > > levanta esos servicios en ambos servidores y contame como te fue
> > > > > >
> > > > > >
> > > > >
> > >
> -----------------------------------------------------------
> > > > > > Microsoft MVP en SQL Server
> > > > > > Mentor asociado en SQLTotalConsulting
> > > > > > (excelencia en servicios y consultoria SQLServer)
> > > > > > Orador Culminis - Microsoft Influencier
> > > > > > www.sqltotalconsulting.com
> > > > > >
> > > > >
> > >
> -----------------------------------------------------------
> > > > > >
> > > > > >
> > > > > >
> > > > > > El 6/06/07, Claudia Almeda <[EMAIL PROTECTED]> escribió:
> > > > > > > si.. te lo paso...
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > OLE DB provider "SQLNCLI" for linked server "c1000zaas0039bs"
> > > returned
> > > > > > > message "No transaction is active.".
> > > > > > >
> > > > > > > Msg 7391, Level 16, State 2, Line 22
> > > > > > >
> > > > > > > The operation could not be performed because OLE DB provider
> > > "SQLNCLI"
> > > > > for
> > > > > > > linked server "c1000zaas0039bs" was unable to begin a
> distributed
> > > > > > > transaction.
> > > > > > >
> > > > > > >
> > > > > > > El día 5/06/07, Maxi Accotto <
<mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED]> escribió:
> > > > > > > > Hola, podrias decirnos el error que da?
> > > > > > > >
> > > > > > > >
> > > > > > > > El 5/06/07, Claudia Almeda < [EMAIL PROTECTED]>
> escribió:
> > > > > > > > > Perdon fue un error de tipeo en el mail, en realidad si
esta
> > > puesto
> > > > > el
> > > > > > > > > owner..
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Insert into #Temporal EXEC
> > > > > > > server7.base.dbo.SP_BUSCO_SUCUR_OFICIO
> > > > > > > > >
> > > > > > > > > ---
> > > > > > > > >
> > > > > > > > > Tampoco me funciona si desde el server 2005 hago lo
> siguiente:
> > > > > > > > > 1) Poner EXEC server7.base.dbo .SP_BUSCO_SUCUR_OFICIO en
un
> Sp
> > > del
> > > > > > > servidor
> > > > > > > > > 2005 ("SP_BUSCO_SUCUR_OFICIO2").
> > > > > > > > > 2) y llamarlo desde otro SP(" SP_BUSCO_SUCUR_OFICIO")
> > > > > > > > > Insert into #Temporal EXEC
> > > > > > > server9.base.dbo.SP_BUSCO_SUCUR_OFICIO2
> > > > > > > > >
> > > > > > > > > pero tampoco funciona...
> > > > > > > > >
> > > > > > > > > Otra cosa que probe y no resulto es hacer un string
dinamico
> y
> > > > > tampoco:
> > > > > > > > > Declare @scmd varchar(250),
> > > > > > > > > @serverCpa varchar(250),
> > > > > > > > > @baseCpa varchar(250)
> > > > > > > > >
> > > > > > > > > SELECT @server_cpa = rtrim (ltrim(par_server_CPA)),
> > > > > > > > > @base_cpa = rtrim(ltrim (par_base_CPA))
> > > > > > > > > FROM parametro_oficio
> > > > > > > > >
> > > > > > > > > SELECT @scmd = ' Insert into #Temporal EXEC' +
> > > > > rtrim(ltrim(@serverCpa))
> > > > > > > +
> > > > > > > > > '.' + rtrim(ltrim(@baseCpa)) + '..SP_BUSCO_SUCUR_OFICIO2'
> > > > > > > > >
> > > > > > > > > EXEC (@scmd)
> > > > > > > > >
> > > > > > > > > ya no se me ocurre que hacer...
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > El día 5/06/07, Maxi Accotto < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> >
> > > escribió:
> > > > > > > > > > Hola, no veo que estes respetando la sintaxis ya que no
> has
> > > puesto
> > > > > al
> > > > > > > > > owner
> > > > > > > > > >
> > > > > > > > > > insert server1.base.dbo.tabla1 EXEC
> > > > > > > > > server2.base.DBO.sp_llenarTabla1
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > >
> > >
> -----------------------------------------------------------
> > > > > > > > > > Microsoft MVP en SQL Server
> > > > > > > > > > Mentor asociado en SQLTotalConsulting
> > > > > > > > > > (excelencia en servicios y consultoria SQLServer)
> > > > > > > > > > Orador Culminis - Microsoft Influencier
> > > > > > > > > > www.sqltotalconsulting.com
> > > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > >
> > >
> -----------------------------------------------------------
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > El 5/06/07, Claudia Almeda < [EMAIL PROTECTED]>
> > > escribió:
> > > > > > > > > >
> > > > > > > > > > > Hola Gente:
> > > > > > > > > > > Tengo un serio problemilla, tengo dos servidores que
> deben
> > > > > compartir
> > > > > > > > > data...
> > > > > > > > > > > Bien.., uno esta con SQL2005(1) el otro con SQL7
(2),...
> > > > > > > > > > > La mayoría de las veces (o casi siempre) consultare
> desde el
> > > > > > > servidor
> > > > > > > > > (1) al
> > > > > > > > > > > servidor(2)...
> > > > > > > > > > > Todo funciona bien , los link están configurados,
> permisos,
> > > etc,
> > > > > > > > > > > excepto por una cosa...
> > > > > > > > > > >
> > > > > > > > > > > si ejecuto desde el servidor (1) lo siguiente (Sea por
> medio
> > > de
> > > > > SP o
> > > > > > > > > Query)
> > > > > > > > > > > Se inserta perfectamente lo que esta en la tabla2 a la
> > > tabla1
> > > > > > > > > > >
> > > > > > > > > > > insert server1.base.dbo.tabla1
> > > > > > > > > > > Select *
> > > > > > > > > > > from server2.base.dbo.tabla2
> > > > > > > > > > >
> > > > > > > > > > > Ahora que si ejecuto desde el servidor (1) lo
siguiente
> me
> > > sale
> > > > > el
> > > > > > > > > típico
> > > > > > > > > > > error de link..
> > > > > > > > > > > (**)
> > > > > > > > > > > insert server1.base.dbo.tabla1 EXEC
> > > > > server2.base.sp_llenarTabla1
> > > > > > > > > > >
> > > > > > > > > > > Alguno tiene idea de porque sucede esto?
> > > > > > > > > > >
> > > > > > > > > > > Imaginence que mientras los 2 servidores trabajaban
con
> SQL7
> > > las
> > > > > > > > > consultas
> > > > > > > > > > > tipo la segunda (**) habían a montones ya que
competían
> el
> > > uso
> > > > > de
> > > > > > > los
> > > > > > > > > Sp,
> > > > > > > > > > > además de los datos...
> > > > > > > > > > >
> > > > > > > > > > > Por ahora salve las papas reemplazando el EXEC
> > > > > > > > > > > server2.base.sp_llenarTabla1POr el código que hay
dentro
> del
> > > SP
> > > > > ,
> > > > > > > El
> > > > > > > > > punto
> > > > > > > > > > > es que no solo hay varios SP de este estilo, sino
> también ,
> > > que
> > > > > la
> > > > > > > > > > > performance se me fue al piso...
> > > > > > > > > > > Teniendo en cuenta que los SP no son sencillos...
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > --
> > > > > > > > > > > Atte Almeda Claudia
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Atte Almeda Claudia
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > >
> > > > > > >
> > > > >
> > >
> -----------------------------------------------------------
> > > > > > > > Microsoft MVP en SQL Server
> > > > > > > > Mentor asociado en SQLTotalConsulting
> > > > > > > > (excelencia en servicios y consultoria SQLServer)
> > > > > > > > Orador Culminis - Microsoft Influencier
> > > > > > > > www.sqltotalconsulting.com
> > > > > > > >
> > > > > > >
> > > > >
> > >
> -----------------------------------------------------------
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Atte Almeda Claudia
> > > > > >
> > > > > >
> > > > > > --
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Atte Almeda Claudia
> > > >
> > > >
> > > > --
> > > >
> > >
> -----------------------------------------------------------
> > > > Microsoft MVP en SQL Server
> > > > Mentor asociado en SQLTotalConsulting
> > > > (excelencia en servicios y consultoria SQLServer)
> > > > Orador Culminis - Microsoft Influencier
> > > > www.sqltotalconsulting.com
> > > >
> > >
> -----------------------------------------------------------
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Atte Almeda Claudia
> >
> >
> > --
> >
> >
>
>
>
> --
> Atte Almeda Claudia
--
--
Atte Almeda Claudia