2011-03-14 27 views
8

Justo antes de un bulkinsert (SqlBulkCopy) Veo una¿Qué hace sp_tablecollations_100?

excec sp_tablecollations_100 N'.tb_tablename' 

en el perfilador

¿Qué hace esto? ¿Es un signo de un problema o es normal?

Gracias por su ayuda

actualización

la inserción Bulik muestran después con la colación en la instrucción de inserción. Está funcionando bien, solo me pregunto si esto es "comportamiento normal" o si el COLLAR en la inserción masiva está de alguna manera afectando el rendimiento.

insert bulk tb_dvr_patient ([geboortejaar] VarChar(4) COLLATE Latin1_General_CI_AS,... 
+0

Interesante. Parece un sproc [indocumentado] (http://msdn.microsoft.com/en-us/library/ms187961.aspx), probablemente utilizado para prepararse para la operación de copia masiva. El '_100' probablemente se refiere a la versión de SQL Server. – Blorgbeard

+0

select @@ trancount; SET FMTONLY ON select * from [tbl_tablename] SET FMTONLY OFF exec ..sp_tablecollations_100 N '. [Tbl_tablename]' - es la consulta completa que estoy viendo. FMTONLY significa que no se devuelve ningún dato. Solo metadatos. El nvarchar encontrado usa 2 bytes en lugar de 1. sys.columns muestra max_length = 44 cuando en realidad son 22 caracteres. ¡Esto fue inmensamente útil! – TamusJRoyce

Respuesta

5

tenía curiosidad, así que yo tenía un aspecto en el código SQL detrás del procedimiento almacenado y es la siguiente: -

ALTER procedure [sys].[sp_tablecollations_100] 
(
    @object nvarchar(4000) 
) 
as 
    select 
     colid    = s_tcv.colid, 
     name    = s_tcv.name, 
     tds_collation  = s_tcv.tds_collation_100, 
     "collation"   = s_tcv.collation_100 
    from 
     sys.spt_tablecollations_view s_tcv 
    where 
     s_tcv.object_id = object_id(@object, 'local') 
    order by colid 

parece que sólo le dice la intercalación de las columnas en que se mesa.

¿Eso ayuda?

Rick.

+0

Bueno, esto responde una parte de mi pregunta. ¿Alguna idea de si esto es un "comportamiento estándar" o algo que se puede evitar? Ya compruebo la intercalación de la tabla de origen y de destino y son los mismos – Pleun

+0

Desafortunadamente, no sé si se puede evitar ya que mi conocimiento de SQL no es tan bueno, pero suena como algo que SQL haría para verificar que son lo mismo. Con suerte, alguien más puede responderte :) –

+0

Esta información puede ser utilizada por el Servicio SSI para que coincida con los conjuntos de intercalación de origen y destino. –