日期:2014-05-18 浏览次数:20466 次
create assembly AutoTran authorization dbo from 'd:/clrAutoTran.dll' with permission_set= external_access;
DECLARE @SamplesPath nvarchar(1024) SELECT @SamplesPath = REPLACE(physical_name, 'Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf', 'Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\') FROM master.sys.database_files WHERE name = 'master'; CREATE ASSEMBLY HelloWorld FROM @SamplesPath + 'HelloWorld\CS\HelloWorld\bin\debug\HelloWorld.dll' WITH PERMISSION_SET = SAFE;
------解决方案--------------------
这个路径的杠杠是不是该反过来打
d:/clrAutoTran.dll
-->
d:\clrAutoTran.dll
这样看看
------解决方案--------------------
参考:
需要 CREATE ASSEMBLY 权限。
如果指定 PERMISSION_SET = EXTERNAL_ACCESS,则 SQL Server 登录必须具有对服务器的 EXTERNAL ACCESS ASSEMBLY 权限。如果指定 PERMISSION_SET = UNSAFE,则需要 sysadmin 固定服务器角色的成员身份。
如果程序集已经存在于数据库中,则用户必须是将上载的程序集所引用的所有程序集的所有者。若要使用文件路径上载程序集,则当前用户必须是经过 Windows 身份验证的登录名或 sysadmin 固定服务器角色的成员。执行 CREATE ASSEMBLY 的用户的 Windows 登录名必须对此语句中加载的共享和文件具有读取权限。
http://msdn.microsoft.com/zh-cn/library/ms189524.aspx