Advertisement
bisonn

Untitled

Nov 29th, 2019
411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 15.82 KB | None | 0 0
  1. USE GateStore
  2. GO
  3. if @@ERROR=0 SET NOEXEC OFF else SET NOEXEC ON
  4. GO
  5.  
  6. exec sp_configure 'clr enabled', 1
  7. reconfigure
  8. GO
  9. ALTER DATABASE CURRENT SET TRUSTWORTHY ON
  10. GO
  11. if @@ERROR=0 SET NOEXEC OFF else SET NOEXEC ON
  12. GO
  13.  
  14. set nocount on
  15. declare @AssemblyName   varchar(100) = 'SQLfuncs'
  16. declare @objId          int
  17. declare @objName        varchar(100)
  18. declare @objType        varchar(2)
  19. declare @script         varchar(2014)
  20. declare @restable table(OperationResult varchar(4096))
  21. insert @restable values('delete of objects on DataBase "'+DB_NAME()+'" from assembly "'+@AssemblyName+'"')
  22. declare CLR_Deleter cursor local forward_only
  23. for select
  24.          SO.id      as [InnerID]
  25.         ,SO.name    as [InnerName]
  26.         ,SO.[type]  as [InnerType]
  27. from dbo.sysobjects SO
  28. join sys.assembly_modules AM on AM.object_id = SO.id
  29. where AM.assembly_id in (select assembly_id from sys.assemblies where name=@AssemblyName)
  30. open CLR_Deleter
  31. fetch next from CLR_Deleter into @objId, @objName, @objType
  32. while @@FETCH_STATUS = 0
  33. begin
  34. -----------------------------------------------------------------------------------------------
  35. set @script=''
  36. if @objType in ('FS', 'FT')  set @script = 'IF OBJECT_ID ('''+@objName+''', '''+@objType+''') IS NOT NULL DROP FUNCTION [dbo].['+@objName+']' else
  37. if @objType in ('PC')  set @script = 'IF OBJECT_ID ('''+@objName+''', '''+@objType+''') IS NOT NULL DROP PROCEDURE [dbo].['+@objName+']'
  38. if @script<>''
  39.  begin
  40.  begin try
  41.  EXECUTE (@script)  
  42.  insert @restable values('successful deleteing of the object: '+@objName+' ('+@objType+', '+CAST(@objId as varchar)+')')
  43.  end try
  44.  begin catch
  45.  insert @restable values('Error deleteing of the object: '+@objName+' ('+@objType+', '+CAST(@objId as varchar)+')')
  46.  end catch
  47.  end
  48.  else insert @restable values('Unknown object: '+@objName+' ('+@objType+', '+CAST(@objId as varchar)+')')
  49. -----------------------------------------------------------------------------------------------
  50. fetch next from CLR_Deleter into @objId, @objName, @objType
  51. end
  52. close CLR_Deleter;
  53. deallocate CLR_Deleter;
  54. ----select OperationResult from @restable
  55. print 'Удаление объектов для сборки "'+@AssemblyName+'" завершено'
  56. GO
  57.  
  58. if Exists(SELECT * FROM  sys.assemblies where Name='SQLfuncs.XmlSerializers')
  59.    DROP ASSEMBLY [SQLfuncs.XmlSerializers]
  60. GO
  61. if Exists(SELECT * FROM  sys.assemblies where Name='SQLfuncs')
  62.    DROP ASSEMBLY [SQLfuncs]
  63. GO
  64. if Exists(SELECT * FROM  sys.assemblies where Name='newtonsoft.json')
  65.    DROP ASSEMBLY [newtonsoft.json]
  66. GO
  67. if Exists(SELECT * FROM  sys.assemblies where Name='System.Runtime.Serialization')
  68.    DROP ASSEMBLY [System.Runtime.Serialization]
  69. GO
  70. if Exists(SELECT * FROM  sys.assemblies where Name='System.Net.Http')
  71.    DROP ASSEMBLY [System.Net.Http]
  72. GO
  73.  
  74.  print '---- закончено удаление функций и сборок -----'
  75.  GO
  76.  
  77.  
  78. if not Exists(SELECT * FROM  sys.assemblies where Name='System.Net.Http')
  79.    begin
  80.    CREATE ASSEMBLY [System.Net.Http] AUTHORIZATION [dbo] FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Net.Http.dll' WITH PERMISSION_SET = UNSAFE
  81.    print '--> сборка System.Net.Http успешно создана'
  82.    end
  83.    else
  84.    BEGIN TRY
  85.    ALTER ASSEMBLY [System.Net.Http] FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Net.Http.dll' WITH PERMISSION_SET = UNSAFE
  86.    print '--> сборка System.Net.Http успешно обновлена'
  87.    END TRY
  88.    BEGIN CATCH
  89.    print '--> сборка System.Net.Http идентична предыдущей и не требует обновления'
  90.    END CATCH
  91. GO
  92.  
  93. if not Exists(SELECT * FROM  sys.assemblies where Name='System.Runtime.Serialization')
  94.    begin
  95.    CREATE ASSEMBLY [System.Runtime.Serialization] AUTHORIZATION [dbo] FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Runtime.Serialization.dll' WITH PERMISSION_SET = UNSAFE
  96.    print '--> сборка System.Runtime.Serialization успешно создана'
  97.    end
  98.    else
  99.    BEGIN TRY
  100.    ALTER ASSEMBLY [System.Runtime.Serialization] FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Runtime.Serialization.dll' WITH PERMISSION_SET = UNSAFE
  101.    print '--> сборка System.Runtime.Serialization успешно обновлена'
  102.    END TRY
  103.    BEGIN CATCH
  104.    print '--> сборка System.Runtime.Serialization идентична предыдущей и не требует обновления'
  105.    END CATCH
  106. GO
  107.  
  108. if not Exists(SELECT * FROM  sys.assemblies where Name='newtonsoft.json')
  109.    begin
  110.    CREATE ASSEMBLY [newtonsoft.json] FROM 'D:\CLR\Newtonsoft.Json.dll' WITH PERMISSION_SET = UNSAFE
  111.    print '--> сборка Newtonsoft.Json успешно создана'
  112.    end
  113.    else
  114.    BEGIN TRY
  115.    ALTER ASSEMBLY [newtonsoft.json] FROM 'D:\CLR\Newtonsoft.Json.dll' WITH PERMISSION_SET = UNSAFE
  116.    print '--> сборка Newtonsoft.Json успешно обновлена'
  117.    END TRY
  118.    BEGIN CATCH
  119.    print '--> сборка Newtonsoft.Json идентична предыдущей и не требует обновления'
  120.    END CATCH
  121. GO
  122.  
  123.  
  124. if not Exists(SELECT * FROM  sys.assemblies where Name='SQLfuncs')
  125.    begin
  126.    CREATE ASSEMBLY [SQLfuncs] FROM 'D:\CLR\SQLfuncs.dll' WITH PERMISSION_SET = UNSAFE
  127.    print '--> сборка SQLfuncs успешно создана'
  128.    end
  129.    else
  130.    BEGIN TRY
  131.    ALTER ASSEMBLY [SQLfuncs] FROM 'D:\CLR\SQLfuncs.dll' WITH PERMISSION_SET = UNSAFE
  132.    print '--> сборка SQLfuncs успешно обновлена'
  133.    END TRY
  134.    BEGIN CATCH
  135.    print '--> сборка SQLfuncs идентична предыдущей и не требует обновления'
  136.    END CATCH
  137. GO
  138.  
  139.  
  140. if not Exists(SELECT * FROM  sys.assemblies where Name='SQLfuncs.XmlSerializers')
  141.    begin
  142.    CREATE ASSEMBLY [SQLfuncs.XmlSerializers] FROM 'D:\CLR\SQLfuncs.XmlSerializers.dll' WITH PERMISSION_SET = UNSAFE
  143.    print '--> сборка SQLfuncs.XmlSerializers успешно создана'
  144.    end
  145.    else
  146.    BEGIN TRY
  147.    ALTER ASSEMBLY [SQLfuncs.XmlSerializers] FROM 'D:\CLR\SQLfuncs.XmlSerializers.dll' WITH PERMISSION_SET = UNSAFE
  148.    print '--> сборка SQLfuncs.XmlSerializers успешно обновлена'
  149.    END TRY
  150.    BEGIN CATCH
  151.    print '--> сборка SQLfuncs.XmlSerializers идентична предыдущей и не требует обновления'
  152.    END CATCH
  153. GO
  154.  
  155.  
  156. CREATE FUNCTION [dbo].[CLR_HttpGetBlobNew](@url [nvarchar](max))
  157. RETURNS  varbinary(max)
  158.  WITH EXECUTE AS CALLER
  159. AS
  160. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[ReadBlob]
  161. GO
  162. IF OBJECT_ID ('CLR_HttpGetBlobNew', 'FS') IS NOT NULL
  163.  print 'CLR_HttpGetBlobNew ready'
  164. GO
  165.  
  166.  
  167. CREATE FUNCTION [dbo].[CLR_HttpGet](@url [nvarchar](max), @headers [nvarchar](max))
  168. RETURNS  varbinary(max)
  169.  WITH EXECUTE AS CALLER
  170. AS
  171. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[HttpGet]
  172. GO
  173. IF OBJECT_ID ('CLR_HttpGet', 'FS') IS NOT NULL
  174.  print 'CLR_HttpGet'
  175. GO
  176.  
  177.  
  178. CREATE FUNCTION [dbo].[CLR_HttpGetBlobMethod](@url [nvarchar](max),@method [nvarchar](max),@headers [nvarchar](max),@parameters [nvarchar](max),@contenttype [nvarchar](max))
  179. RETURNS varbinary(max)
  180.  WITH EXECUTE AS CALLER
  181. AS
  182. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[ReadBlobMethod]
  183. GO
  184. IF OBJECT_ID ('CLR_HttpGetBlobMethod', 'FS') IS NOT NULL
  185.  print 'CLR_HttpGetBlobMethod ready'
  186. GO
  187.  
  188.  
  189. CREATE FUNCTION [dbo].[CLR_HttpGetBlobMethodEx](@url [nvarchar](max),@method [nvarchar](max),@headers [nvarchar](max),@parameters [nvarchar](max),@contenttype [nvarchar](max))
  190. RETURNS TABLE (result varbinary(max), debug nvarchar(max), header nvarchar(max))
  191.  WITH EXECUTE AS CALLER
  192. AS
  193. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[ReadBlobMethodEx]
  194. GO
  195. IF OBJECT_ID ('CLR_HttpGetBlobMethodEx', 'FT') IS NOT NULL
  196.  print 'CLR_HttpGetBlobMethodEx ready'
  197. GO
  198.  
  199. -- Для совместимости. Новая AsWin1251 ------------
  200. CREATE FUNCTION [dbo].[CLR_UnicodeToUTF8](@source [nvarchar](max))
  201. RETURNS nvarchar(max)
  202.  WITH EXECUTE AS CALLER
  203. AS
  204. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[AsWin1251]--[UnicodeToUTF8]
  205. GO
  206. IF OBJECT_ID ('CLR_UnicodeToUTF8', 'FS') IS NOT NULL
  207.  print 'CLR_UnicodeToUTF8 ready'
  208. GO
  209.  
  210. -- Для совместимости. Новая AsUTF8 ------------
  211. CREATE FUNCTION [dbo].[CLR_UTF8ToUnicode](@source [nvarchar](max))
  212. RETURNS nvarchar(max)
  213.  WITH EXECUTE AS CALLER
  214. AS
  215. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[AsUTF8]--[UTF8ToUnicode]
  216. GO
  217. IF OBJECT_ID ('CLR_UTF8ToUnicode', 'FS') IS NOT NULL
  218.  print 'CLR_UTF8ToUnicode ready'
  219. GO
  220.  
  221.  
  222. CREATE FUNCTION [dbo].[CLR_AsWin1251](@source [nvarchar](max))
  223. RETURNS nvarchar(max)
  224.  WITH EXECUTE AS CALLER
  225. AS
  226. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[AsWin1251]
  227. GO
  228. IF OBJECT_ID ('CLR_AsWin1251', 'FS') IS NOT NULL
  229.  print 'CLR_AsWin1251 ready'
  230. GO
  231.  
  232. CREATE FUNCTION [dbo].[CLR_AsUTF8](@source [nvarchar](max))
  233. RETURNS nvarchar(max)
  234.  WITH EXECUTE AS CALLER
  235. AS
  236. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[AsUTF8]
  237. GO
  238. IF OBJECT_ID ('CLR_AsUTF8', 'FS') IS NOT NULL
  239.  print 'CLR_AsUTF8 ready'
  240. GO
  241.  
  242.  
  243. CREATE FUNCTION [dbo].[CLR_JSONtoXML](@source [nvarchar](max))
  244. RETURNS nvarchar(max)
  245.  WITH EXECUTE AS CALLER
  246. AS
  247. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[JSONtoXML]
  248. GO
  249. IF OBJECT_ID ('CLR_JSONtoXML', 'FS') IS NOT NULL
  250.  print 'CLR_JSONtoXML ready'
  251. GO
  252.  
  253. CREATE FUNCTION [dbo].[CLR_XMLtoJSON](@source [nvarchar](max)) --------------------------------------------------------
  254. RETURNS nvarchar(max)
  255.  WITH EXECUTE AS CALLER
  256. AS
  257. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[XMLtoJSON]
  258. GO
  259. IF OBJECT_ID ('CLR_XMLtoJSON', 'FS') IS NOT NULL
  260.  print 'CLR_XMLtoJSON ready'
  261. GO
  262.  
  263. CREATE FUNCTION [dbo].[CLR_URLEncode](@source [nvarchar](max))
  264. RETURNS nvarchar(max)
  265.  WITH EXECUTE AS CALLER
  266. AS
  267. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[URLEncode]
  268. GO
  269. IF OBJECT_ID ('CLR_URLEncode', 'FS') IS NOT NULL
  270.  print 'CLR_URLEncode ready'
  271. GO
  272.  
  273. CREATE FUNCTION [dbo].[CLR_URLDecode](@source [nvarchar](max))
  274. RETURNS nvarchar(max)
  275.  WITH EXECUTE AS CALLER
  276. AS
  277. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[URLDecode]
  278. GO
  279. IF OBJECT_ID ('CLR_URLDecode', 'FS') IS NOT NULL
  280.  print 'CLR_URLDecode ready'
  281. GO
  282.  
  283. CREATE FUNCTION [dbo].[CLR_EmarsysRequest](@Method [nvarchar](4), @URI [nvarchar](1024), @json [nvarchar](max))
  284. RETURNS TABLE (result nvarchar(max), error nvarchar(max))
  285.  WITH EXECUTE AS CALLER
  286. AS
  287. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[Request]
  288. GO
  289. IF OBJECT_ID ('CLR_EmarsysRequest', 'FT') IS NOT NULL -- ATTENTION on Type of function --
  290.  print 'CLR_EmarsysRequest ready'
  291. GO
  292.  
  293. CREATE FUNCTION [dbo].[CLR_EmarsysRequestEx](@Method [nvarchar](4), @User [nvarchar](256), @Password [nvarchar](256), @URI [nvarchar](1024), @json [nvarchar](max))
  294. RETURNS TABLE (result nvarchar(max), error nvarchar(max))
  295.  WITH EXECUTE AS CALLER
  296. AS
  297. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[RequestEx]
  298. GO
  299. IF OBJECT_ID ('CLR_EmarsysRequestEx', 'FT') IS NOT NULL -- ATTENTION on Type of function --
  300.  print 'CLR_EmarsysRequestEx ready'
  301. GO
  302.  
  303.  
  304. CREATE FUNCTION [dbo].[CLR_SaveToFile](@Data [nvarchar](max), @Filename [nvarchar](max))
  305. RETURNS  nvarchar(max)
  306.  WITH EXECUTE AS CALLER
  307. AS
  308. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[SaveToFile]
  309. GO
  310. IF OBJECT_ID ('CLR_SaveToFile', 'FS') IS NOT NULL -- ATTENTION on Type of function --
  311.  print 'CLR_SaveToFile ready'
  312. GO
  313. -- select dbo.CLR_SaveToFile('Текст для сохранения','C:\tmp\FileName.txt')
  314.  
  315. CREATE FUNCTION [dbo].[CLR_SaveBinaryToFile](@Data [varbinary](max), @Filename [nvarchar](max))
  316. RETURNS  nvarchar(max)
  317.  WITH EXECUTE AS CALLER
  318. AS
  319. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[SaveBinaryToFile]
  320. GO
  321. IF OBJECT_ID ('CLR_SaveBinaryToFile', 'FS') IS NOT NULL -- ATTENTION on Type of function --
  322.  print 'CLR_SaveBinaryToFile ready'
  323. GO
  324.  
  325.  
  326. CREATE FUNCTION [dbo].[CLR_GZipToString](@Data [varbinary](max))
  327. RETURNS  varbinary(max)
  328.  WITH EXECUTE AS CALLER
  329. AS
  330. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[GZipToString]
  331. GO
  332. IF OBJECT_ID ('CLR_GZipToString', 'FS') IS NOT NULL -- ATTENTION on Type of function --
  333.  print 'CLR_GZipToString ready'
  334. GO
  335.  
  336.  
  337.  
  338.  
  339. CREATE FUNCTION [dbo].[CLR_Levis_PingPong]()
  340. RETURNS  nvarchar(max)
  341.  WITH EXECUTE AS CALLER
  342. AS
  343. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[Levis_PingPong]
  344. GO
  345. IF OBJECT_ID ('CLR_Levis_PingPong', 'FS') IS NOT NULL -- ATTENTION on Type of function --
  346.  print 'CLR_Levis_PingPong'
  347. GO
  348.  
  349.  
  350. CREATE FUNCTION [dbo].[CLR_Levis_GetPackage](@package [nvarchar](max))
  351. RETURNS  nvarchar(max)
  352.  WITH EXECUTE AS CALLER
  353. AS
  354. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[Levis_GetPackage]
  355. GO
  356. IF OBJECT_ID ('CLR_Levis_GetPackage', 'FS') IS NOT NULL -- ATTENTION on Type of function --
  357.  print 'CLR_Levis_GetPackage'
  358. GO
  359.  
  360.  
  361. CREATE FUNCTION [dbo].[CLR_Levis_PutPackage](@package [nvarchar](max))
  362. RETURNS  nvarchar(max)
  363.  WITH EXECUTE AS CALLER
  364. AS
  365. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[Levis_PutPackage]
  366. GO
  367. IF OBJECT_ID ('CLR_Levis_PutPackage', 'FS') IS NOT NULL -- ATTENTION on Type of function --
  368.  print 'CLR_Levis_PutPackage'
  369. GO
  370.  
  371. print 'в данной сборке CLR_GetTextHTML отсутствует (закомментарен)'
  372. GO
  373.  
  374. CREATE FUNCTION [dbo].[CLR_HttpGetBinary](@url [nvarchar](max))
  375. RETURNS  varbinary(max)
  376.  WITH EXECUTE AS CALLER
  377. AS
  378. EXTERNAL NAME [SQLfuncs].[SQLfuncs.HTTPFunctions].[HttpGetBinary]
  379. GO
  380. IF OBJECT_ID ('CLR_HttpGetBinary', 'FS') IS NOT NULL
  381.  print 'CLR_HttpGetBinary ready'
  382. GO
  383.  
  384. CREATE FUNCTION [dbo].[CLR_HMACSHA1Encode](@base [nvarchar](max), @key [nvarchar](max))
  385. RETURNS  varbinary(max)
  386.  WITH EXECUTE AS CALLER
  387. AS
  388. EXTERNAL NAME [SQLfuncs].[SQLfuncs.StringFunctions].[HMACSHA1Encode]
  389. GO
  390. IF OBJECT_ID ('HMACSHA1Encode', 'FS') IS NOT NULL -- ATTENTION on Type of function --
  391.  print 'HMACSHA1Encode ready'
  392. GO
  393.  
  394. CREATE FUNCTION [dbo].[CLR_TableReturnFunction](@params [nvarchar](max))
  395. RETURNS TABLE (DateCreate datetime, Body varbinary(max), Message nvarchar(max))
  396.  WITH EXECUTE AS CALLER
  397. AS
  398. EXTERNAL NAME [SQLfuncs].[SQLfuncs.TestFunctions].[TableReturnFunction]
  399. GO
  400. IF OBJECT_ID ('CLR_TableReturnFunction', 'FT') IS NOT NULL -- ATTENTION on Type of function --
  401.  print 'CLR_TableReturnFunction ready'
  402. GO
  403. -- select [DateCreate],[Body],[Message] from dbo.CLR_TableReturnFunction('')
  404.  
  405.  
  406. CREATE PROCEDURE [dbo].[CLR_GetUsedDB]
  407. WITH EXECUTE AS CALLER
  408. AS
  409. EXTERNAL NAME [SQLfuncs].[SQLfuncs.TechFunctions].[GetUsedDB]
  410. GO
  411. IF OBJECT_ID ('CLR_GetUsedDB', 'PC') IS NOT NULL -- ATTENTION on Type of function --
  412.  print 'CLR_GetUsedDB ready'
  413. GO
  414. --exec dbo.CLR_GetUsedDB
  415.  
  416. CREATE PROCEDURE [dbo].[CLR_TryClearMemory](@before bigint out, @after bigint out)
  417.  WITH EXECUTE AS CALLER
  418. AS
  419. EXTERNAL NAME [SQLfuncs].[SQLfuncs.TechFunctions].[TryClearMemory]
  420. GO
  421. IF OBJECT_ID ('CLR_TryClearMemory', 'PC') IS NOT NULL -- ATTENTION on Type of function --
  422.  print 'CLR_TryClearMemory ready'
  423. GO
  424.  
  425. CREATE PROCEDURE [dbo].[CLR_WriteLog](@message [nvarchar](max))
  426.  WITH EXECUTE AS CALLER
  427. AS
  428. EXTERNAL NAME [SQLfuncs].[SQLfuncs.TechFunctions].[WriteLog]
  429. GO
  430. IF OBJECT_ID ('CLR_WriteLog', 'PC') IS NOT NULL -- ATTENTION on Type of function --
  431.  print 'CLR_WriteLog ready'
  432. GO
  433.  
  434. CREATE FUNCTION [dbo].[CLR_WriteLogFunc](@message [nvarchar](max))
  435. RETURNS BIT
  436.  WITH EXECUTE AS CALLER
  437. AS
  438. EXTERNAL NAME [SQLfuncs].[SQLfuncs.TechFunctions].[WriteLogFunc]
  439. GO
  440. IF OBJECT_ID ('CLR_WriteLogFunc', 'FS') IS NOT NULL -- ATTENTION on Type of function --
  441.  print 'CLR_WriteLogFunc ready'
  442. GO
  443.  
  444. GRANT EXECUTE ON [dbo].[CLR_Levis_GetPackage] TO [nav_gate]
  445. GRANT EXECUTE ON [dbo].[CLR_Levis_PingPong] TO [nav_gate]
  446. GRANT EXECUTE ON [dbo].[CLR_Levis_PutPackage] TO [nav_gate]
  447. GRANT EXECUTE ON [dbo].[CLR_HttpGetBlob] TO [mo2]
  448. GRANT EXECUTE ON [dbo].[CLR_HttpGetBlobNew] TO [mo2]
  449. GRANT EXECUTE ON [dbo].[CLR_HttpGetBlobMethod] TO [mo2]
  450.  
  451. set nocount on
  452.  
  453. declare @before bigint
  454. declare @after bigint
  455. exec dbo.CLR_TryClearMemory @before out, @after out
  456.  
  457. grant exec on CLR_HttpGetBlobMethod to public
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement