Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. USE [OblakLive-02-12]
  2. GO
  3.  
  4. /****** Object: StoredProcedure [vm].[VirtualMachineGetAllByAccountID] Script Date: 27-Jan-20 11:01:43 ******/
  5. SET ANSI_NULLS ON
  6. GO
  7.  
  8. SET QUOTED_IDENTIFIER ON
  9. GO
  10.  
  11.  
  12. CREATE PROCEDURE [vm].[VirtualMachineGetAllByAccountID]
  13. ( @AccountID int, @StatusID tinyint = null)
  14. AS
  15. BEGIN
  16. SET NOCOUNT ON;
  17.  
  18. DECLARE @Now datetime2(3) = GETUTCDATE()
  19.  
  20. SELECT distinct
  21. VM.[InstanceID]
  22. ,VM.[VMMInstanceID]
  23. ,VM.[VMMServerID]
  24. ,VM.[AccountID]
  25. ,VM.[CloudID]
  26. ,VM.[Label]
  27. ,VM.[Description]
  28. ,VM.[ComputerName]
  29. ,VM.[SourceTemplateID]
  30. ,VM.[SourceVMID]
  31. ,VM.[ModifiedDate]
  32. ,VM.[CreatedDate]
  33. ,VM.[Status]
  34. ,st.StatusName
  35. ,VM.[TimeZoneID]
  36. ,VM.VMQueueMetadata
  37. ,VM.FailedCreateAttempts
  38. ,tp.[VMMTemplateID]
  39. ,case when tp.TemplateStatusID = 4 then 1 else 0 end as IsDemo -- TemplateStatusID = 4 -> Demo
  40. ,vmsource.VMMInstanceID as SourceVMVMMID
  41. ,tz.[TimeZoneDisplay]
  42. ,ipassign.VMMPrivateIP as PrivateIP
  43. ,ip.HostIPv4 as PublicIP
  44. ,cs.ConsoleShareID
  45. ,cs.Email as ReceiverEmail
  46. ,acc.Email as SharerEmail
  47. ,cs.[Password]
  48. ,cs.IsShareUsed
  49. ,cs.ExpirationDate
  50. ,cs.CreatedDate as SharedDate
  51. FROM [vm].[VirtualMachine] VM
  52. inner join lookup.VirtualMachineStatus st on st.StatusID = VM.Status
  53. left outer join [vm].[Template] tp on tp.TemplateID = VM.SourceTemplateID
  54. left outer join [vm].VirtualMachine vmsource on vmsource.InstanceID = vm.SourceVMID
  55. left outer join [lookup].[TimeZones] tz on tz.TimeZoneID = VM.[TimeZoneID]
  56. left outer join network.PublicIPVMAssignment ipassign on vm.InstanceID = ipassign.VMInstanceID and ipassign.Active = 1
  57. left outer join network.PublicIP ip on ipassign.PublicIPID = ip.PublicIPID
  58. left outer join vm.ConsoleShare cs ON cs.InstanceID = VM.InstanceID AND ExpirationDate > @Now
  59. left outer join t.Account acc ON acc.AccountID = cs.AccountID
  60. WHERE VM.[AccountID] = @AccountID and
  61. (@StatusID is null or VM.[Status] = @StatusID)
  62. END
  63.  
  64. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement