找不到“SqlBulkCopy”

时间:2012-08-23 03:48:57

标签: sql stored-procedures sql-server-2008-r2

当我尝试在新服务器中创建以下存储过程时,出现错误

  

Msg 6528,Level 16,State 1,Procedure usp_BulkCopy,Line 3
  在数据库'master'的SQL目录中找不到程序集'SqlBulkCopy'。

代码:

USE [master]
GO

/****** Object:  StoredProcedure [dbo].[usp_BulkCopy]    Script Date: 08/22/2012 23:32:59 ******/
CREATE PROCEDURE [dbo].[usp_BulkCopy]
    @sourceServer [nvarchar](255),
    @sourceDatabase [nvarchar](255),
    @sourceSelectQuery [nvarchar](4000),
    @destinationServer [nvarchar](255),
    @destinationDatabase [nvarchar](255),
    @destinationTable [nvarchar](255),
    @FlagKeepIdentity [bit],
    @throwExceptionOnErrors [bit],
    @SourceTrusted [bit],
    @DestTrusted [bit],
    @SourceUser [nvarchar](255),
    @SourcePass [nvarchar](255),
    @DestUser [nvarchar](255),
    @DestPass [nvarchar](255)
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [SqlBulkCopy].[StoredProcedures].[usp_BulkCopy]
GO

我如何克服这个问题?我不确定会是什么,如果它确实是一个真正的问题。

谢谢你的时间..

1 个答案:

答案 0 :(得分:0)

感谢Marc S.这是集会。

希望它可以帮助别人。这是我所做的细节。

我从另一个数据库服务器找到了程序集并在此服务器上运行它,如下所示:

CREATE ASSEMBLY [SqlBulkCopy]
AUTHORIZATION [dbo]
FROM 
[CODE in Hexadecimals-this would be unique I think]

然后我必须这样做:

ALTER DATABASE [master] SET TRUSTWORTHY ON

然后这个:

sp_configure 'clr enabled',1
GO
RECONFIGURE
GO
sp_configure 'clr enabled'  -- make sure it took
GO

就是这样。它运作良好:

要确保已安装程序集,您可以运行:

SELECT * FROM sys.assemblies